Cominciamo a dire che questa procedura non serve a molto e quasi sicuramente non aumenterà le prestazioni della vostra macchina, diciamo che può essere utile per verificare eventuali patologie nell'uso della RAM da parte di qualche processo.
Facciamo un esempio:
Il mio serverino domestico ha 2GiB di RAM e poco dopo l'avvio mi indica questa disponibilità di RAM.
# free -m total used free shared buffers cached Mem: 2014 277 1737 0 52 96 -/+ buffers/cache: 128 1886 Swap: 2094 0 2094
Quindi risulta un utilizzo di 277MiB di cui 52 in buffers e 96 in cache
Ora , per esempio, faccio trasferire da un client, tramite Samba, una ISO da qualche GiB.
Dopo questa operazione la disponibilità di RAM risulta
# free -m total used free shared buffers cached Mem: 2014 1924 90 0 20 1788 -/+ buffers/cache: 114 1900 Swap: 2094 0 2094
Come si può vedere ora la memoria libera ammonta solamente a 90MiB dato che ben 1788MiB sono assegnati alla cache.
Questo, come già detto, non vuol dire nulla e se copio un altra ISO la velocità di trasferimento non cambia, semplicemente la cache viene riciclata ed infatti il consumo di swap continua ad essere 0.
Se invece c'è qualcosa di patologico in atto questo riciclo può non funzionare ed allora questa procedura può tornare utile per cercare di mitigare il problema o per cercare di individuarlo.
Il comando che vi esporrò l'ho trovato su internet scartabellando fra vari siti, lo riporto qui per nostra comodità.
La procedura da seguire è la seguente:
Innanzi tutto occorre aprire un terminale con Menu -> Strumenti -> konsole
$ su - Password: <strong>LaPasswordDiRoot</strong> #
# sync; echo 3 > /proc/sys/vm/drop_caches #
Al fine di evitare disastri è INDISPENSABILE dare il comando sync che sincronizza il disco.
Come vedete la procedura è semplicissima e l'effetto finale è il seguente:
# free -m total used free shared buffers cached Mem: 2014 141 1873 0 0 33 -/+ buffers/cache: 107 1907 Swap: 2094 0 2094
Ciao Ciao, Moreno
Commenti
Inviato da Ilario il Dom, 14/02/2010 - 11:12.
Re: Svuotare la Cache RAM
fantastico!, rpoprio quello che mi serviva, dopo aver trafugato svariati gb di dati, mi trovavo sempre con la ram satura di cache!
Grazie moreno!!!
Inviato da Moreno il Dom, 14/02/2010 - 12:12.
Re: Svuotare la Cache RAM
Ciao
Sono contento che ti sia tornata utile.
Ciao Ciao, Moreno
Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.
Inviato da maurelio79 il Mer, 24/02/2010 - 04:20.
Re: Svuotare la Cache RAM
Ciao Moreno, grazie mille per la dritta.
Vorrei sottoporti la mia situazione. La mia cached era 2200, per curiosità ho dato il comando e giustamente la cache si è svuotata, dopo ho ridato più volte il comendo free -m per vedere cosa succedeva e ho notato che la cache risaliva molto velocemente:
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 2801 239 0 80 2200
-/+ buffers/cache: 520 2520
Swap: 2861 1 2859
[maurelio@localhost ~]$ su
Password:
[root@localhost maurelio]# sync; echo 3 > /proc/sys/vm/drop_caches
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 557 2483 0 0 73
-/+ buffers/cache: 484 2556
Swap: 2861 1 2859
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 663 2377 0 1 172
-/+ buffers/cache: 489 2551
Swap: 2861 1 2859
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 696 2344 0 2 206
-/+ buffers/cache: 487 2552
Swap: 2861 1 2859
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 752 2287 0 2 264
-/+ buffers/cache: 485 2554
Swap: 2861 1 2859
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 981 2058 0 3 487
-/+ buffers/cache: 490 2550
Swap: 2861 1 2859
[maurelio@localhost ~]$ free -m
total used free shared buffers cached
Mem: 3040 1051 1989 0 4 561
-/+ buffers/cache: 485 2555
Swap: 2861 1 2859
Sino ad assestarsi su un 672. Secondo te da cosa potrebbe dipendere tale comportamento? Inoltre noto lo swap è sempre su 1/2MB, non avevo nulla aperto mentre facevo tale procedurra.
Ciauz
Debian Squeeze+Mandriva2009 on Asus X59SLseries
http://www.mylinuxexperience.org/
Inviato da Moreno il Mer, 24/02/2010 - 07:03.
Re: Svuotare la Cache RAM
Ciao
Non saprei dirti chi l'adopera però è certo che viene adoperata, la RAM è li per questo.
Per avere maggiori informazioni devi esplorare /proc
Ciao Ciao, Moreno
Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.
Inviato da maurelio79 il Mer, 24/02/2010 - 14:08.
Re: Svuotare la Cache RAM
Interessante, darò un occhio a /proc.
La situazione non mi preoccupa, perchè comunque il Sistema è molto reattivo, sono curioso di capire cosa succede.
Comunque appena avviato, free -m mi da questo output:
total used free shared buffers cached
Mem: 3040 1127 1913 0 17 835
-/+ buffers/cache: 274 2765
Swap: 2861 0 2861
Lo swap in uso risulta 0, quindi ciò mi tranquillizza. Quello che mi preme capire è perchè ieri mi segnava 1/2 MB di swap, quando ancora avevo parecchia ram libera.
Ciauz
Debian Squeeze+Mandriva2009 on Asus X59SLseries
http://www.mylinuxexperience.org/
Inviato da Moreno il Mer, 24/02/2010 - 15:19.
Re: Svuotare la Cache RAM
Ciao
Più vuoi sapere e più a fondo devi scavare.
Effettivamente quella dell'uso della swap è un campanello d'allarme decisamente più rumoroso di quello della cache.
Ciao Ciao, Moreno
Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.
Inviato da Ilario il Ven, 19/03/2010 - 16:39.
Re: Svuotare la Cache RAM
anche io ho il problema della swap, mi usa sempre quel mb nonostante però la ram sia libera, perche?
ho la 2010.0 tutta di default, apparte kde4.4.0,comunque lo faceva anche da prima, e su tutte le mie due macchine 32 e 64 bit!
Inviato da Moreno il Ven, 19/03/2010 - 17:03.
Re: Svuotare la Cache RAM
Ciao
E ti stai a preoccupare per 1 MiB?? magari è un Bug di arrotondamento di Free
Ciao Ciao, Moreno
Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.
Inviato da tom2004 (non verificato) il Ven, 19/03/2010 - 18:05.
Re: Svuotare la Cache RAM
il tuo SO ha deciso che aveva in RAM 1 MB di roba inutile ed ha deciso di appoggiarla su disco,
in modo da avere RAM libera se servisse, non ci vedo nulla di male.... anzi il mio server ne gode
se questo comportamento non ti piace puoi regolarlo differentemente:
http://www.linode.com/wiki/index.php/Swappiness
ciao