È sicuro disattivare definitivamente lo swap?


54

Il mio sistema stava diventando più lento, soprattutto quando uso browser come Firefox / Chromium e macchine virtuali. Ho notato che ho almeno 3,2 GB di RAM libera (usando il monitor di sistema Gnome) e non c'è stato scambio.

Quello che ho fatto ora è swapoff -ae le prestazioni del sistema sono aumentate del 30%. Quindi la mia domanda è: è sicuro da usare swapoff? Sarà sicuro riavviare il mio PC swapoff?

inserisci qui la descrizione dell'immagine


1
Sei sicuro che Ubuntu stia usando il tuo swap prima che utilizzi completamente la ram? Qual è l'output con free -m ? Di solito, la disattivazione di swap non farà differenza poiché Ubuntu cerca di usare il ram il più possibile, e non dovrebbe succedere che ram sia inutilizzato e swap sia usato.
ste_kwr,

2
A proposito, non ho swap sul mio sistema da 8 GB con un singolo SSD.
Lekensteyn,

3
Puoi disattivare lo scambio, che dovrebbe andare bene, o regolare il valore di scambio. Può essere trovato su / proc / sys / vm / swappiness. Usa 'sysctl' per un cambiamento più permanente. Una cosa da notare è che l'ibernazione deve essere scambiata. Penso che il sonno non ne abbia davvero bisogno, ma l'ibernazione lo fa.
Marky,

@kniwor sì, dopo 2,5 GB di RAM ... utilizza swap e devo riavviare, quindi il mio sistema funziona correttamente. e un po 'di tempo dopo 1 GB il mio sistema è diventato lento
One Zero,

@ Ho controllato da 5 a 6 volte
Uno Zero

Risposte:


94

Il kernel Linux fornisce un'impostazione modificabile che controlla la frequenza con cui viene utilizzato il file di scambio, chiamato swappiness

Un'impostazione di swapiness pari a zero significa che il disco verrà evitato a meno che non sia assolutamente necessario (si esaurisce la memoria), mentre un'impostazione di swapiness su 100 significa che i programmi verranno scambiati sul disco quasi istantaneamente.

Il sistema Ubuntu ha un valore predefinito di 60, il che significa che il file di scambio verrà usato abbastanza spesso se l'utilizzo della memoria è circa la metà della mia RAM. Puoi controllare il valore di swapiness del tuo sistema eseguendo:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Dato che ho 4 GB di RAM, quindi vorrei ridurlo a 10 o 15. Il file di scambio verrà quindi utilizzato solo quando il mio utilizzo della RAM è di circa l' 80 o il 90 percento. Per modificare il valore di scambio del sistema, aprire /etc/sysctl.conf as root. Quindi, modifica o aggiungi questa riga al file:

vm.swappiness = 10

Riavviare per rendere effettive le modifiche

È inoltre possibile modificare il valore mentre il sistema è ancora in esecuzione

sysctl vm.swappiness=10

puoi anche cancellare lo swap eseguendo swapoff -ae quindi swapon -acome root invece di riavviare per ottenere lo stesso effetto.

Per calcolare la formula di scambio

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

quindi il totale è 3950/100 = 39.5 * 10 = 395

quindi ciò che significa è che quando ha lasciato il 10% 395 MB di RAM, inizia a usare la swapiness


11
+1 Questo è un eccellente how-to sulla configurazione dello swap. Bella risposta. Potresti anche pubblicare una nuova domanda che chiede "come configura la swappiness" e copiare questa risposta, così è più facile da trovare per gli altri. Le persone che arrivano a questa domanda cercheranno risposte "sì o no", la tua è una guida per le persone che hanno già scelto "sì"
Tom Brossman,

1
@TomBrossman, ho fatto in modo che tu possa verificarlo askubuntu.com/questions/103915/how-do-i-configure-swappiness
One Zero

11
Questo, pur essendo una guida utile, non risponde alla domanda. Il richiedente voleva sapere se era sicuro o no , non come farlo.
Fouric

2
@InkBlend Ancora più strano, questa non risposta è da parte del richiedente.
underscore_d

In ogni caso, grazie mille per il suggerimento. È un mondo completamente nuovo che usa questo lappy di Ubuntu.
Don Pflaster,

17

Probabilmente. Dovresti leggere la parte "Perché devo scambiare" della pagina FAQ di Ubuntu qui e giudicare da solo.

Se apprezzi la velocità sulla rete di sicurezza, lo swap può fornire, dovresti disabilitarla

Se non si sospende mai il disco e si spegne e si riavvia sempre, è possibile disabilitarlo in modo sicuro.

Se disponi di molta RAM (le VM da 4 GB + in esecuzione sono una chiamata ravvicinata), puoi farlo.

Per me, ho il mio sistema operativo su un SSD, 8 GB di RAM e non sospendo mai. Non ho bisogno di swap, non l'ho mai visto in uso e l'ho appena installato per abitudine.

In alternativa, ecco un tweak su: config per Firefox di Lifehacker che spiega come usare la RAM solo per la cache del browser. Leggi la confutazione collegata nella parte inferiore dell'articolo prima di provarla.


1

No, non è sicuro. Il motivo è che quando il sistema esaurisce la RAM e non sarà in grado di scambiarne nessuna, potrebbe bloccarsi senza possibilità di recupero se non un hard reset. Non si tratta solo di essere in grado di sospendere o meno.
Fonte: il mio 14.04 lo fa.

Dovresti mantenere una quantità minima di spazio di swap, guarda le FAQ di Ubuntu per i numeri.

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.