Tutto sullo spazio di swap di Linux – prima parte
filed in Linux, Open Source on apr.24, 2010
Linux divide la RAM (Random Access Memory) in aree di memoria chiamate pagine. Lo swapping è il processo mediante il quale una pagina di memoria viene copiata in uno spazio preconfigurato sul disco rigido, chiamato spazio di swap, per liberare dalla memoria. Le dimensioni combinate della memoria fisica e dello spazio di swap è la quantità di memoria virtuale disponibile.
Lo swapping è necessario per due motivi importanti:
- In primo luogo, quando il sistema richiede più memoria di quella fisicamente disponibile, il kernel sposta le pagine meno utilizzate nello spazio di swap e concede l’utilizzo della memoria ram alll’applicazione corrente (processo) che in quel momento richiede la memoria.
- In secondo luogo, un numero significativo di pagine utilizzate da un’applicazione durante la sua fase di avvio possono essere utilizzate solo per l’inizializzazione del sistema e poi mai più usate.
Il sistema è in grado di usare quindi lo swap su quelle pagine e di liberare la memoria per altre applicazioni o addirittura per la cache su disco.
Tuttavia, lo swapping ha un rovescio della medaglia. Rispetto alla memoria ra , i dischi sono molto più lenti. La velocità della memoria è misurata in nanosecondi, mentre quella dei dischi in millisecondi, dunque l’accesso al disco è decine di migliaia di volte più lento rispetto alla memoria ram. Più operazioni di swapping che si verificano, più lento il vostro sistema sarà. A volte un eccessivo swapping crea dei colli di bottiglia, poichè si verifica una particolare situazione: una pagina viene messa nello swap e poi portata in ram molto velocemente ed in modo continuativo. In tali situazioni il sistema lotta per trovare della memoria libera e mantenere le diverse applicazioni in esecuzione nello stesso momento. In questo caso, solo l’aggiunta di RAM più aiutare la stabilità del sistema stesso.
Linux ha due forme di spazio di swap: la partizione di swap e il file di swap. La partizione di swap è una sezione indipendente del disco fisso, utilizzati esclusivamente per lo swap, nessun altro può risiedere lì. Il file di swap è un file speciale che risiede nel filesystem tra il sistema e file di dati.
Per vedere com’è fatto e dove è ubicato lo spazio di swap che si possiede, si utilizza il comando “swapon-s”. L’output sarà simile al seguente:
Filename Type Size Used Priority Filename Type Size Used Priority
/dev/sda5 partition 859436 0 -1 / dev/sda5 partition 859436 0 -1
Ogni riga elenca una partizione di swap separata utilizzata dal sistema.
Qui, il campo ‘Tipo’ indica che questo spazio di swap è una partizione piuttosto che un file e dal campo ‘Nome del file’ vediamo che è sul disco sda5.
‘Size’ (Dimesione) è elencato in kilobyte, e ‘used’ (usati) ci dice quanti kilobyte di spazio di swap è stato utilizzato (in questo caso nessuno).
‘Priority’ (Priorità) indica a Linux quale spazio di swap usare per primo.
Una grande particolarità dello swap su linux è che, se montare due (o più) spazi di swap (preferibilmente su due dispositivi differenti) con la stessa priorità, linux divide le sue attività di swapping tra di loro. Questo si traduce in un incremento notevole delle prestazioni.
Per aggiungere una partizione di swap per il vostro sistema, è necessario prima di prepararla.
Step one is to ensure that the partition is marked as a swap partition and step two is to make the swap filesystem.
La prima fase uno è quella di garantire che la partizione sia contrassegnata come una partizione di swap, mentre la seconda fase è quella di creare il filesystem di swap.
Per verificare che la partizione sia contrassegnata come partizione di swap, eseguite da root:
fdisk -l /dev/hdb fdisk-l / dev / hdb
Sostituite / dev / hdb con il nome della vostra partizione di swap.
Il risultato dovrebbe essere simile al seguente:
Device Boot Start End Blocks Id System Device Boot Start End Blocks Id System
/dev/hdb1 2328 2434 859446 82 Linux swap / Solaris / dev/hdb1 2328 2434 859446 82 Linux swap / Solaris
Se la partizione non è contrassegnata come swap, avrete bisogno di modificarla eseguendo fdisk e utilizzando l’opzione ‘t’ menu.
State attenti quando si lavora con le partizioni. Eliminare le partizioni importanti per errore o modificare l’ID della partizione di sistema può creare seri danni!
Tutti i dati su una partizione di swap vengono persi, in modo da ricontrollare tutte le modifiche fatte.
Si noti inoltre che Solaris utilizza lo stesso ID di Linux come spazio di swap per le sue partizioni, quindi fate attenzione a non distruggere le partizioni Solaris per errore.
Una volta che una partizione è contrassegnata come swap, è necessario prepararla utilizzando il comando mkswap come root:
mkswap /dev/hdb1 mkswap / dev/hdb1
Se non visualizzate errori, lo spazio di swap è pronto per l’uso.
Per attivarlo immediatamente, digitare:
swapon /dev/hdb1 swapon / dev/hdb1
È possibile verificare se la partizione è verificata utilizzato da eseguire swapon-s.
Per montare lo spazio di swap automaticamente al del boot, è necessario aggiungere una voce nel file / etc / fstab, che contiene una lista di filesystem e di spazi di swap che hanno bisogno di essere montati all’avvio. Poiché lo spazio di swap è un particolare tipo di filesystem, molti di questi parametri non sono applicabili.
Per lo spazio di swap, aggiungere:
/dev/hdb1 none swap sw 0 0 / dev/hdb1 none swap sw 0 0
dove / dev/sdb1 è la partizione di swap. Non ha uno specifico punto di montaggio, quindi non niente.
È di tipo swap con opzioni di sw e gli ultimi due parametri non vengono utilizzati in modo che siano iscritti come 0.
Per verificare che lo spazio di swap venga automaticamente montato senza dover riavviare è possibile eseguire il comando swapoff-un (che disattiva tutte le partizioni di swap) e poi swapon-a (che monta tutte le partizioni di swap elencate nel file / etc / fstab ). Quindi controllare con swapon-s.

Leave a Reply