[Lugge] consiglio per i portatili

  • From: "Roberto A. Foglietta" <roberto.foglietta@xxxxxx>
  • To: lugge@xxxxxxxxxxxxx
  • Date: Wed, 18 May 2005 11:19:05 +0200



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

Other related posts:

  • » [Lugge] consiglio per i portatili