Source: http://blog.nasa.fr/wp/linux/2011-02-18/se-la-jouer-avec-la-vm-linux/
Vous voulez jouer au malin avec la gestion Virtual Memory de linux… Ce tips est pour vous. Il permet de vider la mémoire cache et avoir de la mémoire libre.
Mais j’entends au fond de la salle : qu’est-ce qui est dans le cache ?
Et bien facile, mon ptit gars… il va contenir les fichiers qui sont extraits du disque avant d’être utilisés. Le but est d’accélérer l’accès lors d’une lecture suivante.
Alors, oui cela ne sert pas à grand chose de vider le cache en mode de fonctionnement normal, car Linux sait gérer correctement le cache pour recycler et utiliser au besoin la mémoire en cas de besoin.
Mais rien ne vous empêche d’être un psychopathe et de vider le cache si:
- Vous n’utiliserez pas une nouvelle fois le programme ou les fichiers que vous venez d’ouvrir
- Vous avez peur qu’on puisse lire le contenu de la mémoire.
Cela a quand même le mérite d’illustrer le fonctionnement de linux.
#Pour libérer le cache:
echo 1 > /proc/sys/vm/drop_caches
#To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
#To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches
Pour les petits malins, cela permet de s’assurer que les données sont bien hors de la mémoire… en général sur le disque. (Si jamais vous voulez tester votre grub via “quemu -hda /dev/sda”)
il est à noter qu’il faut un kernel à partir de 2.6.16.
Si vous voulez aller plus loin, vous pouvez avoir quelques aperçus des possibilités sous linux ici:
http://www.westnet.com/~gsmith/content/linux-pdflush.htm
http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm