Utilizzare un file come swap

Da Guide@Debianizzati.Org.
Versione del 1 dic 2015 alle 11:52 di HAL 9000 (discussione | contributi) (→‎Creare un file di swap: MiB vs MB)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Normalmente, come memoria di swap, viene utilizzata una partizione dedicata. Gli stessi installers delle varie distribuzioni, Debian compresa, si "lamentano" se tale partizione non è presente. Con i kernel 2.6.xxx è però possibile utilizzare dei file come swap, in aggiunta o al posto di una partizione. Il vantaggio di ciò è sicuramente una maggior flessibilità: infatti, nel caso in cui si renda necessario modificare la dimensione dell'area di swap, è molto più rapido farlo con un file che non con una partizione, e soprattutto non ci sarà bisogno di modificare le altre, evitando il riavvio e l'uso di una live.

Creare un file di swap

Immaginiamo di dover creare un file di swap di nome swapfile nella directory / dalla dimensione di 512 MiB, ossia mezzo gibibyte (ossia: 1024 MiB, 1024x1024 kiB o equivalentemente 1024x1024x1024 byte). Il file deve essere creato contiguo, ossia senza buchi; questo lo si fa con il seguente comando e privilegi di amministrazione (per scrivere in /):

# fallocate --length 512MiB /swapfile
Bulb.png Suggerimento
Per l'ibernazione si consiglia una dimensione superiore alla RAM, che è possibile leggere (in MiB) con:
$ free -m
             total       used       free     shared    buffers     cached
Mem:          2950       2622        327         26        320       1305
-/+ buffers/cache:        996       1953
...

Sarà quindi sufficiente creare un file di dimensione maggiore di 2950MiB:

# fallocate --length 3000MiB /swapfile

Si noti che 3000MB sarebbero 3000000000 byte (3000x1000x1000 byte), ossia leggermente inferiori a 2950MiB (2950x1024x1024 byte).


Una volta creato il file, se ne modificano i permessi, per renderlo leggibile e scrivibile soltanto da root:

# chmod 600 /swapfile

Per poi renderlo effettivamente un file di swap, usiamo il comando:

# mkswap /swapfile

Rendere operativo il file di swap

Il file di swap appena creato può essere reso subito operativo con il comando:

# swapon /swapfile

Questo può andar bene per provare se funziona, ma per automatizzarne l'utilizzo è necessario modificare il file /etc/fstab. In questo file bisogna aggiungere la riga:

/swapfile       swap        swap        sw       0      0

In questo modo il file di swap si aggiungerà alla partizione, se presente.

Se non esiste una partizione di swap va bene anche la riga:

/swapfile       none        swap        sw       0      0




Guida scritta da: Stampante 11:52, 7 apr 2010 (CEST) Swirl-auth40.png Debianized 40%
Estesa da:
Verificata da:
HAL 9000 12:44, 1 dic 2015 (CET)

Verificare ed estendere la guida | Cos'è una guida Debianized