Utenti Online

No

Messaggi Privati

Non sei identificato sul sito.

Banner

Come limitare la Swap o dirottarla su file

Stampa E-mail
(1 voto, media 4.00 di 5)
Scritto da Nightshroud   
Una dei concetti che un nuovo utente si ritrova davanti appena effettua una migrazione è quello dello Swap. Infatti a prima istallazzione viene richiesto dalla maggior-parte delle distribuzioni di creare almeno due partizioni una di Root (/) ed una per lo Swap. Conseguenza di questa prima richiesta da parte dell'installer di Linux avviene il primo dubbio amletico da parte degli utenti, cos'è lo Swap? Devo farlo o no? E quanto spazio devo dedicargli? E giù a fiondarsi sui forum per chiedere spiegazioni in merito. Ora lo Swap non è nient'altro che la "Memoria virtuale" come viene chiamata su Windows, ossia uno spazio dedicato che il sistema usa per impaginare informazioni nel momento in cui la Ram non è più in grado di sostenerla, è quindi invece di saturala parte delle informazioni viene dirottata su un altro dispositivo, di fatto estende quindi la memoria volatile del sistema. E' questa procedura può essere configurata dall'utente e vediamo come.

A primo concetto verrebbe da dire, tutto molto bello allora facciamo lo spazio dedicato alla Ram più alta possibile, in realtà le cose non sono così. Infatti quando il sistema operativo, o i programmi lanciati accedono a delle informazioni che risiedono nello Swap le prestazioni cadono drasticamente, e nel caso vi sia un uso eccessivo dei file di swap si potrebbe arrivare addirittura al blocco del sistema. Questo accade in primo luogo perchè la velocità di trasmissione dei dati della Ram è molto più alta rispetto a quella di un disco rigido, anche dell'ordine di 100 volte più veloce. Lo swap quindi è una sorta di salvagente del sistema in casi particolari, o di un uso eccessivo del Multitask (utilizzo di più applicazioni contemporaneamente), altro motivo dell'uso dello swap è nel foto-ritocco di immagini ad alta qualità, poichè se si attiva l'opzione annulla, la memorizzazione delle precedenti modifiche delle nostre foto, possono essere considerate dal sistema come non necessarie e svuotate dalla ram e messe nello Swap.

Ora il modo in cui viene gestito questa particolare funzione è diversa da Windows a Linux, ovviamente essendo un sito dedicato ai sistemi GNU/Linux tratteremo solo questo argomento, ma sappiate che anche su Windows si possono adottare degli accorgimenti per migliorarne l'uso. Innanzitutto sui sistemi Unix e Linux nello specifico allo spazio di Swap non è dedicato una parte del sistema, ma una partizione a parte, con un file system studiato appositamente per questo scopo. Già questa è una differenza sostanziale di prestazioni, inoltre il sistema pensa in modo diverso e fa un uso più consapevole dello Swap, considerando anche che già a pieno regime una soluzione GNU/Linux occupa già molta  meno Ram rispetto al rivale Windows.

Come impostare l'ascesso all'area di swap

Tornando alle nostre prime domande amletiche sappiate che lo spazio da dedicare alla partizione di Swap, varia da 512 Mb ad 1Gb di spazio, oltre questo valore sarebbe ininfluente, bisogna tenere conto che se un sistema fa uso abbondante di Swap vuol dire che è giunta l'ora di aumentare la Ram fisica. Addirittura se avete 2 Gb o più su Linux, potreste anche evitare di fare questa partizione, anche se di solito si dedica un minimo di spazio. Mentre se si usa un hard disk a stato solido SSD, attualmente se ne sconsiglia l'utilizzo per evitare di scrivere continuamente su disco. Perchè questo? perchè anche se avessimo tanta ram il kernel di Linux comunque ha una impostazione per usare lo swap, una impostazione che non è quantitativa, ma bensi informa in che modo gestire il rapporto Ram fisica e Swap.
Ora leggendo questo articolo pubblicato da SicilinuxGroup, viene semplicemente spiegato come agire per modificare questo rapporto, il valore da modificare e controllare è lo swappiness.
Per sapere qual'è il nostro valore attuale basta digitare in un terminale:
$ cat /proc/sys/vm/swappiness

mentre se vogliamo modificarlo basta agire sulla relativa stringa relativa a questo parametro in /etc/sysctl.conf, ovviamente come amministratori, sapendo che di norma il valore di default dovrebbe essere 60, un valore vicino allo zero limita la scrittura su swap il minimo possibile e solo se strettamente necessario, ad esempio come citato nell'articolo se si hanno 2Gb di ram fisica si potrebbe tranquillamente settare questo parametro. Da considerare che anche avendo tanta ram una piccola parte di swap normalmente può venire utilizzata comunque, a meno che non si intervenga proprio settando questo parametro.

# nano /etc/sysctl.conf
ed aggiungere o modificare la stringa

vm.swappiness = 15

Montare la partizione di Swap su file

Sul Forum di gamesradar, nella gloriosa sezione 77, dedicata ai sistemi operativi alternativi, invece si è parlato come spostare ad esempio lo swap su file, questo passaggio può essere utile sia per l'utente sprovveduto che non ha creato la partizione di swap in fase di installazione, anche se si potrebbe rimediare con Gparted, nel caso il file system preveda il ridimensionamento, sia per evitare di dare spazio fisico alla parte dedicata allo swap e attribuirgli invece uno spazio dinamico su un file, evitando di avere una partizione e tenendo conto che comunque le prestazioni di swap sarebbero sempre inferiori rispetto alla ram fisica.
Per poter montare la partizione di swap su file bisogna seguire i seguenti passaggi.

Aprite il terminale e date:
$ sudo dd if=/dev/zero of=/.swap.img bs=1048576 count=768
$ sudo mkswap /.swap.img

Aprite fstab in questo modo:

sudo nano /etc/fstab

E aggiungete alla fine:

/.swap.img swap swap noauto,defaults 0 0

Attivate lo swap:

sudo swapon /.swap.img

Con:

$ free -m

Controllate se funziona.

 

Articoli Correlati