Come posso disattivare lo swap in modo permanente?

60

Swap rende il mio sistema molto lento e spegnendolo rende tutto più fluido. Ho 3,5 GB di RAM.

So come disattivare lo swap inserendo sudo swapoff -a nel terminale, ma è solo per la sessione corrente, perché dopo lo swap di riavvio si riattiva. C'è un modo per disattivare lo swap in modo permanente?

    
posta Alex Li 28.03.2014 - 15:06

4 risposte

113

Posso suggerire un approccio più sicuro? Non si sa mai quando lo swap può salvarti dall'arresto anomalo. Durante lo swapping, infatti, rallenta il tuo computer, se usi un programma che mangia tutta la tua RAM, avere la possibilità di scambiare può salvarti da un duro riavvio. Quando il computer inizia lo scambio, noterai e sarai in grado di uccidere l'applicazione incriminata.

Quindi, invece di disattivare completamente lo swap, assicurati solo che il tuo OS scambia molto raramente. Questo è controllato dall'impostazione vm.swappiness in /etc/sysctl.conf . L'impostazione predefinita di Ubuntu è 60 se ricordo correttamente, il che è eccessivo per la maggior parte delle situazioni e ti farà iniziare a scambiare anche quando la RAM è ancora disponibile. Se riduci questo valore, sarai in grado di mantenere la linea di sicurezza dello swap mentre lo utilizzi solo per le emergenze. Quindi, apri il file:

sudo nano /etc/sysctl.conf

E aggiungi questa linea:

vm.swappiness=10

Se è ancora troppo, cambia il 10 a 1. Ora, dopo il riavvio, cambierai solo quando è assolutamente necessario e puoi semplicemente dimenticarlo.

    
risposta data terdon 28.03.2014 - 16:00
42

Trova la riga in / etc / fstab riferendosi allo swap e commentala. Il mio è così:

UUID=6880a28d-a9dc-4bfb-ba47-0876b50e96b3 /               ext4    errors=remount-ro 0       1
UUID=7350e6f2-e3a7-4d80-9a95-8741c7db118f /home           ext4    defaults        0       2
UUID=E2E26AD1E26AAA0D /media/windows  ntfs    defaults,umask=007,gid=46 0       0

# Swap a usb extern (3.7 GB):
#/dev/sdb1 none swap sw 0 0

Puoi modificare questo file con gedit. Effettua il backup prima, nel caso in cui:

sudo cp /etc/fstab /etc/fstab_backup
gksu gedit /etc/fstab

Aggiungi # all'inizio della riga in cui si trova lo scambio e riavvia il computer.

o

Prova la modalità da riga di comando per commentare la voce di swap in /etc/fstab file,

sudo sed -i.bak '/ swap / s/^\(.*\)$/#/g' /etc/fstab
    
risposta data animaletdesequia 28.03.2014 - 15:10
13

Basta eliminare la voce (o commentarla usando # davanti alla linea) da fstab e riavviare. Cerca la riga con la parola "scambio" in essa.

sudo nano /etc/fstab
    
risposta data mdalacu 28.03.2014 - 15:10
4

Sbagliato .. se systemd trova una partizione SWAP su qualsiasi drive lo automount comunque. Strano che nessuno abbia menzionato systemd. La soluzione è abbastanza semplice comunque; per disabilitare permanentemente lo scambio devi:

  1. swapoff -a
  2. modifica / etc / fstab e commenta eventuali voci di swap se presente.
  3. run: sudo systemctl mask dev-sdXX.swap (dove XX è il partizione di swap. Utile anche a farlo per tutte le partizioni possibili così che se c'è una partizione di swap su qualsiasi altra unità non lo sarà montato)

Pace fuori.

    
risposta data Zibri 09.12.2017 - 20:58

Leggi altre domande sui tag