9. Configurare lo spazio di swap

9.1. File di swap

Normalmente ci sono solo due passaggi da eseguire per configurare lo spazio di swap, creare la partizione ed aggiungerla ad /etc/fstab. Una voce tipica in fstab per una partizione swap su /dev/hda6 sarà di questo tipo:


/dev/hda6	swap	swap	defaults	0	0

Al successivo avvio, lo script di inizializzazione la attiverà automaticamente e non è necessario fare altro.

Tuttavia, se si vuole usarla subito, è necessario attivarla manualmente. Da superutente digitare:


mkswap -f /dev/hda6
swapon /dev/hda6

9.2. File di swap

Ci potranno essere momenti in cui si è a corto di spazio di swap e non è pratico ripartizionare un'unità o aggiungerne uno nuovo. In questo caso si può utilizzare un file regolare in una partizione normale. Tutto ciò che si deve fare è creare un file della dimensione voluta

dd if=/dev/zero of=/var/mio_swap bs=1024 count=131072

ed attivarlo


	mkswap -f /var/mio_swap
	swapon /var/mio_swap

Con questa sintassi si crea un file chiamato mio_swap in /var. È grande 128 Mb (128 x 1024 = 131072). Inizialmente è riempito da zeri. mkswap, tuttavia, lo marca come spazio di swap e swapon dice al kernel di iniziare ad usarlo some spazio di swap. Quando non serve più, digitare


swapoff /var/mio_swap
rm /var/mio_swap

9.3. Aree di swap multiple

Sullo stesso sistema può essere utilizzata più di una partizione di swap. Si consideri un fstab di esempio con una sola partizione di swap:


/dev/hda5   /        ext3   defaults        1	1
/dev/hda1   /boot    ext2   defaults        1	2
none        /dev/pts devpts gid=5,mode=620  0	0
none        /proc    proc   defaults        0	0
/dev/hda7   /usr     ext3   defaults        1	2
/dev/hda6   swap     swap   defaults        0	0

Si immagini di rimpiazzare la voce riguardante la partizione di swap con queste tre righe:


/dev/hda6   none    swap    sw,pri=3    0	0
/dev/hdb2   none    swap    sw,pri=2    0	0
/dev/hdc2   none    swap    sw,pri=1    0	0

Questa configurazione farà sì che il kernel usi per prima /dev/hda6 che ha associata la più alta priorità (pri=3). La massima priorità consentita è 32767 e la minima 0. Se quello spazio fosse insufficiente, il kernel inizierebbe ad usare /dev/hdb2 e dopo di essa /dev/hdc2. Perché una simile configurazione? Si immagini di dare la priorità più alta alle unità più nuove (più veloci); ciò minimizzerebbe la perdita di velocità al crescere dello spazio di swap.

È possibile scrivere su tutte e tre contemporaneamente. Se ognuna ha la stessa priorità, il kernel scriverà su di esse come in un RAID, con un aumento della velocità proporzionale.


/dev/hda6   none   swap   sw,pri=3   0   0
/dev/hdb2   none   swap   sw,pri=3   0   0
/dev/hdc2   none   swap   sw,pri=3   0   0

Si noti che queste tre partizioni sono su unità separate, il che è l'ideale in termini di miglioramento della velocità.