Perché si consiglia swappiness = 10?


9

Si swappiness=10consiglia un valore di SwapFaq di Ubuntu .

Perché è raccomandato un valore di 10 anziché swappiness=0?

Ci sono vantaggi di 10 o contro di zero?



3
@Mitch Questa domanda è sul perché le persone raccomandano di ridurre la swappiness. Questa domanda è diversa; si sta chiedendo perché lo swappiness dovrebbe essere al di sopra dello zero . Quindi questo non sta chiedendo perché le persone raccomandano che sia così basso ; si sta chiedendo perché la raccomandazione sia alta quanto lo è. Poiché la risposta lì (abbastanza razionalmente) non è d'accordo con l'argomento per ridurre la swappiness fino ad ora, c'è qualche sovrapposizione con la mia risposta qui, ma alla fine penso che siano domande separate (anche se correlate) con risposte separate.
Eliah Kagan,

@EliahKagan touché :)
Mitch

Risposte:


9

swappiness=0aspetterò di scambiare fino a quando non sarà assolutamente necessario. L'impostazione di un valore moderato come swappiness=10farà sì che le pagine vengano scambiate dalla memoria al disco un po 'più facilmente. Ciò può impedire la necessità di scambiare molto contemporaneamente; tale necessità può comportare fastidiosi ritardi.

Inoltre, spesso viene eseguito un processo ma non fa nulla per un periodo di tempo prolungato. Molti demoni (servizi in background) si comportano in questo modo. Potresti avere un'applicazione in background che è rimasta inutilizzata per un po '. E in questi giorni alcune applicazioni sono implementate come processi multipli, come Chromium e Google Chrome, in cui ogni scheda ha un processo separato dietro di esso (non un thread separato, ma un processo separato ). L'impostazione swappinesssu un valore come 10 rende tali attività in background che non vengono utilizzate attivamente vengono scambiate in memoria anche quando potrebbero rimanere stipate nella RAM. Quindi, quando un processo più attivamente utilizzato deve allocare più RAM, può farlo più rapidamente.

In conclusione, consentire che i processi vengano scambiati dalla RAM al disco prima del necessario spesso conferisce un vantaggio in termini di prestazioni e latenze inferiori quando un processo alloca memoria. Questo è a scapito del tempo necessario per scambiare i processi. Ma questo di solito viene eseguito molto meno frequentemente di un processo in uso attivo alloca e rilascia memoria, quindi il compromesso è spesso utile.


È inoltre necessario tenere conto del buffer dell'unità. Se si dispone di un SSD con un buffer di 512 MB e 4 GB di RAM. puoi probabilmente lasciarlo a 10 senza preoccuparti di problemi di prestazioni perché qualsiasi programma sarà in grado di allocare quasi all'istante circa 1 GB di RAM. Ho un SSD con 256 MB di buffer e 8 GB di RAM, quindi lo lascio anche a 10 perché garantisce anche un'allocazione rapida di circa 1 GB di cui raramente ho bisogno.
stackount il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.