5. Swappiness (kernel 2.6)
Dalla serie 2.6 del kernel c'è un modo per controllare quanto Linux favorisca lo swap su disco rispetto al restringimento della cache quando la memoria si sta esaurendo.
Quando un'applicazione necessita di memoria e tutta la RAM è occupata, il kernel ha due modi per liberare la memoria che ha a disposizione: può ridurre la disk cache in RAM eliminando i vecchi dati o può scambiare porzioni di programmi (pagine) poco usate con la partizione swap del disco. Non è facile predire quale sarà il metodo più efficiente. Il kernel fa una scelta approssimativamente immaginando l'efficienza dei due metodi in un dato momento, basandosi sull'attività più recente.
Prima della serie 2.6 del kernel, l'utente non aveva possibilità di influenzare i calcoli e di intervenire dove il kernel faceva una scelta sbagliata, limitandosi ad avere basse prestazioni. Questa situazione viene modificata nella serie 2.6 del kernel con l'introduzione di quello che viene chiamato swappiness.
Lo swappiness prende una valore tra 0 e 100 per cambiare il bilanciamento tra lo swapping di applicazione e la liberazione della cache. A 100, il kernel preferirà sempre trovare pagine inattive e swapparle. In altri casi se avviene uno swapout dipende da quanta memoria viene usata dalle applicazioni e quanta cache viene liberata da parti inattive.
Il valore predefinito di swappiness è 60. Un valore uguale a 0 riporta il tutto al vecchio modo di operare dove applicazioni bisognose di memoria dovevano contrarsi in minuscole frazioni di RAM. Per portatili che dovrebbero preferire un minore lavoro su disco è raccomandato un valore di 20 o inferiore.
swappiness può essere modificato in qualsiasi momento coi seguenti comandi:
Esempio 3: Modificare il valore di swappiness
# sysctl -w vm.swappiness=30 # echo 30 > /proc/sys/vm/swappiness
Il valore predefinito quando Gentoo si avvia può essere posto in /etc/sysctl.conf:
Esempio 4: swapiness all'avvio
# Control how much the kernel should favor swapping out applications (0-100= vm.swappiness = 30
Alcune patch permettono al kernel un auto regolazione sul livello di swappiness come se fosse fisso e possono non tenere conto di valori assegnati dall'utente.
----
-- Roberto A. Foglietta Analista Programmatore GNU/Linux SAD Trasporto Locale S.p.a. Corso Italia 13/N 39100 BOLZANO (I)
Tel. +39/0471-450.261 Fax +39/0471-450.253
_______________________________________________ pluto-pd mailing list pluto-pd@xxxxxxxxxxxxxx http://lists.pluto.it/listinfo/pluto-pd