Unnikked - Esperienze personali in campo informatico

Come aumentare la swap di un VPS

Molti servizi VPS offrono macchine virtuali che garantiscono una soglia massima di RAM (Esempio 512 MB) senza utilizzare alcuna partizione di swap; può risultare utile utilizzarla per cercare di avere un margine di sicurezza sui software installati sul VPS per evitare crash o kill di un processo che richiede più risorse di quelle disponibili sulla macchina.

In Linux è possibile allocare parte dello spazio su disco come swap, senza la necessità di andare a ripartizionare il disco o reinstallare il sistema; per fare ciò ci avvaleremo del comando dd:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap -f /swapfile 
swapon /swapfile

dove con count indichiamo la dimensione in kilobyte dello spazio che vogliamo allocare.
Il comando mkswap -f crea il file di swap con nome /swapfile; infine con swapon montiamo il file di swap.

Con questi comandi abbiamo solo creato e montato la swap aggiuntiva ma, ad un eventuale riavvio, il file di swap non viene montato automaticamente, per rendere questo processo automatico bisogna modificare fstab, per cui apriamo il file /etc/fstab e aggiungiamo la seguente linea:

/swapfile   none   swap   sw 0 0

Nota

Il kernel Linux 2.6 ha aggiunto un nuovo parametro al kernel chiamato swappiness che permette agli amministratori di modificare il modo in cui Linux effettua lo swap. E’ un numero che va da a 100. In sintesi, un valore alto porta ad un numero elevato di pagine di essere “swappate”, e un numero basso comporta un maggior numero di applicazioni mantenuti in memoria RAM, anche se sono inattive.</p>

Il valore di default di swappiness è 60. Si può anche alterarlo temporaneamente (fino al prossimo reboot) digitando come root:

echo 50 > /proc/sys/vm/swappiness

Se si vuole rendere permanente la modifica bisogna cambiare il paramentro vm.swappiness nel file /etc/sysctl.conf</div></div></div>

Unico inconveniente di questo sistema, è che le prestazioni generali del sistema potrebbero essere ancora peggiori di una normale partizione adibita all’avvicendamento dei processi, in quanto il file risiede sul file system del sistema operativo per cui è soggetta ai servizi del file system stesso.