Domanda: Vorrei aggiungere più spazio di scambio al mio sistema Linux. Puoi spiegare con esempi chiari come aumentare lo spazio di scambio?
Risposta: Puoi utilizzare una partizione del disco rigido dedicata per aggiungere nuovo spazio di scambio o creare un file di scambio su un filesystem esistente e usarlo come spazio di scambio.
Quanto spazio di scambio è attualmente utilizzato dal sistema?
Il comando Free mostra lo spazio di scambio. free -k mostra l'output in KB.
# free -k total used free shared buffers cached Mem: 3082356 2043700 1038656 0 50976 1646268 -/+ buffers/cache: 346456 2735900 Swap: 4192956 0 4192956
Il comando Swapon con l'opzione -s, mostra lo spazio di scambio corrente in KB.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
Swapon -s, è uguale al seguente.
# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
Metodo 1:utilizzare una partizione del disco rigido per ulteriore spazio di scambio
Se hai un disco rigido aggiuntivo (o spazio disponibile in un disco esistente), crea una partizione usando il comando fdisk. Assumiamo che questa partizione si chiami /dev/sdc1
Ora imposta questa partizione appena creata come area di scambio usando il comando mkswap come mostrato di seguito.
# mkswap /dev/sdc1
Abilita la partizione di swap per l'utilizzo utilizzando il comando swapon come mostrato di seguito.
# swapon /dev/sdc1
Per rendere disponibile questa partizione dello spazio di scambio anche dopo il riavvio, aggiungi la seguente riga al file /etc/fstab.
# cat /etc/fstab /dev/sdc1 swap swap defaults 0 0
Verifica se l'area di scambio appena creata è disponibile per il tuo utilizzo.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /dev/sdc1 partition 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
Nota: Nell'output del comando swapon -s, la colonna Tipo indicherà "partizione" se lo spazio di scambio viene creato da una partizione del disco.
Metodo 2:usa un file per ulteriore spazio di scambio
Se non hai dischi aggiuntivi, puoi creare un file da qualche parte nel tuo filesystem e usare quel file per lo spazio di scambio.
Il seguente esempio di comando dd crea un file di scambio con il nome "myswapfile" nella directory /root con una dimensione di 1024 MB (1 GB).
# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records out # ls -l /root/myswapfile -rw-r--r-- 1 root root 1073741824 Aug 14 23:47 /root/myswapfile
Modifica l'autorizzazione del file di scambio in modo che solo root possa accedervi.
# chmod 600 /root/myswapfile
Rendi questo file un file di scambio usando il comando mkswap.
# mkswap /root/myswapfile Setting up swapspace version 1, size = 1073737 kB
Abilita il file di scambio appena creato.
# swapon /root/myswapfile
Per rendere questo file di scambio disponibile come area di scambio anche dopo il riavvio, aggiungi la seguente riga al file /etc/fstab.
# cat /etc/fstab /root/myswapfile swap swap defaults 0 0
Verifica se l'area di scambio appena creata è disponibile per il tuo utilizzo.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /root/myswapfile file 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
Nota: Nell'output del comando swapon -s, la colonna Tipo indicherà "file" se lo spazio di scambio viene creato da un file di scambio.
Se non vuoi riavviare per verificare se il sistema occupa tutto lo spazio di swap menzionato in /etc/fstab, puoi fare quanto segue, che disabiliterà e abiliterà tutta la partizione di swap menzionata in /etc/fstab
# swapoff -a # swapon -a