Utilizzare un file come swap: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
Nessun oggetto della modifica
 
(6 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>


<pre>$dd if=/dev/zero of=/home/utente/swapfile bs=1048576 count=512</pre>
{{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>
<pre>#mkswap /home/utente/swapfile</pre>
# 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>


<pre>#swapon /home/utente/swapfile</pre>
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>
<pre>/home/utente/swapfile      swap        swap        sw      0      0</pre>


In questo modo il file di swap si aggiungerà alla partizione (se presente)
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>


<pre>/home/utente/swapfile      none        swap        sw      0      0</pre>
{{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