Utilizzare un file come swap: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
Nessun oggetto della modifica
 
(8 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian|}}
{{Versioni compatibili}}
__TOC__
__TOC__
== Introduzione ==
== 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.


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 reanda necessario modificare la dimensione dell'area di swap, è molto più rapido farlo con un file che non con una partizione.
== Creare un file di swap ==
== Creare un file di swap ==
Immaginiamo di dover creare un file di swap di nome /home/utente/swapfile delle dimensioni di 512 MB, ossia mezzo giga; questo lo si fa con il seguente comando:
Immaginiamo di dover creare un file di swap di nome <code>swapfile</code> nella directory [[root /|/]] 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 <code>/</code>):
<pre>
# fallocate --length 512MiB /swapfile
</pre>


$dd if=/dev/zero of=/home/utente/swapfile bs=1048576 count=512
{{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 <code>2950MiB</code>:
<pre>
# fallocate --length 3000MiB /swapfile
</pre>
 
Si noti che <code>3000MB</code> sarebbero <code>3000000000 byte</code> (3000x1000x1000 byte), ossia leggermente inferiori a <code>2950MiB</code> (2950x1024x1024 byte).
}}
 
Una volta creato il file, se ne modificano i [[Filesystem: i permessi sui files|permessi]], per renderlo leggibile e scrivibile soltanto da [[root]]:
<pre>
# chmod 600 /swapfile
</pre>


Il parametro ''bs'' rappresenta il numero di byte: nel nostro caso, il valore 1.048.576 altri non è che il numero di byte corrispondenti a 1 MB (1024 al quadrato). Il parametro ''count'' è il moltiplicatore: viene creato infatti un file di dimensione bs*count, quindi 1MB * 512.
Per poi renderlo effettivamente un file di swap, usiamo il comando:
Per poi renderlo effettivamente un file di swap, usiamo il comando:
 
<pre>
#mkswap /home/utente/swapfile
# mkswap /swapfile
</pre>


== Rendere operativo il file di swap ==
== Rendere operativo il file di swap ==
Il file di swap appena creato può essere reso subito operativo con il comando:
Il file di swap appena creato può essere reso subito operativo con il comando:
<pre>
# swapon /swapfile
</pre>


#swapon /home/utente/swapfile
Questo può andar bene per provare se funziona, ma per automatizzarne l'utilizzo è necessario modificare il file <code>/etc/fstab</code>. In questo file bisogna aggiungere la riga:
 
<pre>
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
</pre>


/home/utente/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:
Se non esiste una partizione di swap va bene anche la riga:
<pre>
/swapfile      none        swap        sw      0      0
</pre>


/home/utente/swapfile      none        swap        sw      0      0
{{Autori
|Autore= [[Utente:Stampante|Stampante]] 11:52, 7 apr 2010 (CEST)
|Estesa_da=
|Verificata_da=
: [[Utente:HAL 9000|HAL 9000]] 12:44, 1 dic 2015 (CET)
|Numero_revisori=1
}}


--[[Utente:Stampante|Stampante]] 11:52, 7 apr 2010 (CEST)
[[Categoria:Filesystem]]
3 581

contributi

Menu di navigazione