Vider la mémoire cache d'un serveur Linux Debian

14/09/2009 - 36351 consultations - 3 commentaires


Ce tutoriel vous présente comment récupérer la mémoire cache alouée mais non utilisée par le système afin de la rendre disponible aux processus qui en ont besoin.

Les processus dormant garde une partie de la mémoire RAM en réserve sans l'utiliser, il arrive parfois que certains processus en garde tellement qu'il n'y en a plus de disponible pour les autres applications, il est donc nécessaire de désallouer afin de rendre la mémoire de nouveau disponible.

On commence par jeter un oeil à la mémoire libre et utilisée à l'aide de la commande free -m :
$ free -m
             total       used       free       shared     buffers      cached
Mem:          7974       5143       2831            0         650        2436
-/+ buffers/cache:       2056       5917
Swap:          509         46        463
L'option -m indique qu'on affiche ces chiffres en Mo.

On place un 3 dans le fichier /proc/sys/vm/drop_caches afin de libérer la mémoire cache :
$ echo 3 > /proc/sys/vm/drop_caches

Enfin on revérifie la mémoire après le vidage du cache :
$ free -m
             total       used       free     shared    buffers     cached
Mem:          7974        383       7591          0         59         22
-/+ buffers/cache:        300       7674
Swap:          509         46        463

Et voilà, la mémoire est libérée, on peut voir que le cache est passé de 2436 Mo à 22 Mo.
La mémoire utilisé passe de 5143 Mo à 383 Mo.

Commentaires (3)

Referencement local - 03/05/2011 à 15h14
Merci pour cette info ! Je pense qu'elle me sera utile !

analogx - 15/11/2011 à 18h53
Bonjour,
En lisant le man 5 de proc, j'ai lu qu'il fallait lancer sync avant d'executer la commande que tu décris:
-----------
/proc/sys/vm/drop_caches (depuis Linux 2.6.16)
L'écriture dans ce fichier fera que le noyau nettoyera les caches, les entrées de répertoires et les inœuds de la mémoire, libérant celle-ci.

Pour libérer les caches, utilisez echo 1 > /proc/sys/vm/drop_caches ; Pour libérer les entrées de répertoires et les inœuds, utilisez echo 2 > /proc/sys/vm/drop_caches ; Pour libérer les caches les entrées de répertoires et les inœuds, utilisez echo 3 > /proc/sys/vm/drop_caches.

Parce que cette opération est non destructive et que les objets « sales » ne sont pas libérables, l'utilisateur devrait d'abord lancer sync(8).

kofina - 11/06/2014 à 11h44
Salut,
merci pour cette info.
Elle m\'a permit de régler des dysfonctionnement sur mon serveur asterisk.

Commentez cet article

Nom (obligatoire)
E-mail (obligatoire)
Site Internet (facultatif)
code anti-spam

Me tenir inform� des nouveaux messages


terminal.pngInstallation d'Apache 2.0 et PHP 5.1
Tutoriel d'installation d'Apache 2.0 et PHP 5.1 sous Debian Sarge à partir des paquets backports.org
mycomputer.pngInstaller le serveur FTP Proftpd avec le module MySQL et stocker les utilisateurs dans une base de données MySQL sous Linux Debian Lenny
Ce tutoriel vous présente comment installer le serveur FTP Proftpd lié à MySQL sous Linux Debian Lenny ainsi que la gestion de vos utilisateurs dans une table MySQL
database.pngInstallation MySQL 5 sous Debian Etch et Lenny
Tutoriel d'installation de MySQL 5 sous Debian Etch et Lenny à partir des paquets officiels
encrypted.pngConnexion ssh sous debian etch et lenny avec clé publique - privée
Ce tutoriel vous présente comment vous connecter sur votre serveur Debian (Etch et Lenny) en ssh, scp, sftp à partir de Windows avec clé publique privée (sans avoir à taper de mot de passe)
database.pngSauvegarder restaurer base de données MySQL sous Debian
Ce mini tutoriel vous présente comment sauvegarder, et restaurer une base de données MySQL en mode console sous debian
kcmdevices.pngForcer umount quand vous avez le message : device is busy sous Linux Debian
Ce mini tutoriel vous présente comment Démonter un point de montage quand celui ci ne veux pas être démonté
cal.pngCorriger l'erreur mysql Table './bacula/File' is marked as crashed and should be repaired avec myisamchk sous linux debian
Ce tutoriel vous présente comment réparer une table mysql crashée au format myisam avec l'utilitaire myisamchk
mail_generic.pngProblème à l'installation d'Exim4 : Could not perform immediate configuration on 'exim4-daemon-light'. sous Linux Debian
Il peut arriver que vous rencontriez un problème lors de l'installation d'Exim4, une erreur du style : Could not perform immediate configuration on 'exim4-daemon-light'.
terminal.pngCommandes de base Debian et Ubuntu
Liste de commandes Linux les plus utilisées et les plus courantes sous Debian et Ubuntu avec les options qui vont biens