57 votes

Comment nettoyer ou désactiver le cache mémoire ?

Après le démarrage du système, en quelques minutes, mon cache mémoire se remplit et il commence à utiliser le swap. Voici une capture d'écran de /proc/meminfo.

memory

Cependant, si je peux désactiver ce processus / nettoyer le cache une fois après cela, je pense que mon système s'accélérera dans une certaine mesure. Corrigez-moi si je me trompe.

J'ai également essayé le nettoyage de la mémoire de Bleachbit, mais il ne semble pas nettoyer correctement le cache de la mémoire. De plus, cette fonctionnalité est encore au stade expérimental.

bleachbit memory

Une question similaire a déjà été postée ici : Comment puis-je désactiver le cache prefetch ? mais elle concernait Ubuntu Server, et les réponses impliquaient des réglages manuels, etc.

Donc, je veux savoir s'il existe un logiciel pour désactiver/activer le cache mémoire pour Ubuntu 12.04.

68voto

ish Points 134738

Note : Linux ne "mange" PAS votre RAM ! Jetez un coup d'oeil à l'article de Geirha. excellente réponse ci-dessous pour comprendre pourquoi...

Après la remarque ci-dessus, si vous pensez toujours que le "nettoyage" du cache pourrait vous aider, vous pouvez certainement essayer : il s'agit d'une simple ligne du terminal :

sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

Il n'y a pas de moyen facile de désactiver le cache, mais vous pouvez obtenir le même effet en le nettoyant aussi souvent que possible. chaque minute si vous le souhaitez :

  • Faites-en un cron-job

  • Appuyez sur Alt-F2 , type gksudo gedit /etc/crontab et ajoutez cette ligne vers le bas :

    */15 * * * * root sync && echo 3 > /proc/sys/vm/drop_caches

  • Ce nettoyage a lieu toutes les 15 minutes. Vous pouvez le régler sur 1 ou 5 minutes si vous voulez vraiment en changeant le premier paramètre en * o */5 au lieu de */15

Une doublure pour connaître la RAM réellement libre, à l'exception de la mémoire cache.

La réponse de Geirha explique les détails, mais en résumé, vous obtenez le nombre de mégaoctets gratuits avec :

free -m | sed -n -e '3p' | grep -Po "\d+$"

qui, sur mon serveur de 2 Go en ligne de commande, renvoie un résultat extrêmement sain 1835 .

58voto

Steve Karg Points 11

Au secours ! Linux a mangé ma RAM !

www.linuxatemyram.com l'explique magnifiquement sous la forme d'une FAQ, dont les éléments essentiels sont les suivants :

Qu'est-ce qui se passe ?

Linux emprunte la mémoire inutilisée pour la mise en cache des disques. Cela donne l'impression que vous êtes à court de mémoire, mais ce n'est pas le cas ! Tout va bien !

Pourquoi fait-il cela ?

La mise en cache sur disque rend le système beaucoup plus rapide ! Il n'y a pas d'inconvénients, sauf celui de perturber les débutants. Il n'enlève aucunement de la mémoire aux applications, jamais !

Et si je veux exécuter plus d'applications ?

Si vos applications veulent plus de mémoire, il leur suffit de reprendre une partie de celle que le cache disque a empruntée. Le cache disque peut toujours être rendu aux applications immédiatement ! Vous n'êtes pas à court de mémoire vive !

Comment puis-je voir la quantité de RAM libre dont je dispose réellement ?

Pour savoir combien de RAM vos applications pourraient utiliser sans permutation, exécutez free -m et regardez la valeur "a".

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1504        1491          13           0         855      **792**
Swap:          2047           6        2041
Voici votre réponse en mebibytes.

Source : comme mentionné, l'excellent www.linuxatemyram.com -- veuillez visiter pour plus d'informations.

7voto

shf301 Points 19188

Pour vérifier votre utilisation actuelle de la mémoire

 watch -n 1 free -m

o

 watch -n 1 cat /proc/meminfo

Pour libérer de l'espace

 sudo sysctl -w vm.drop_caches=3

NOTE : Cette action ne rendra pas votre système plus rapide et n'affectera pas sa stabilité et ses performances, elle nettoiera simplement la mémoire utilisée par le noyau Linux sur les caches.

o

 sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

NOTE : Vous pouvez utiliser des tâches cron pour planifier l'exécution des commandes ci-dessus à des intervalles de temps spécifiques.

0voto

Martim Points 101

Comme on peut le voir, l'encaissement n'est pas un problème. mais si cela provoque des échanges, ce que vous pouvez éviter en gérant les vm.swappiness valeur. C'est peut-être ce que vous recherchez : Pourquoi l'échange est utilisé même si j'ai beaucoup d'images gratuites

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X