Avant de procéder à des analyses comparatives, comment libérer la mémoire (RAM) consommée par le noyau Linux pour ses mémoires tampons et son cache?
Notez que cela est surtout utile pour l'analyse comparative. Vider les tampons et le cache réduit les performances! Si vous êtes ici parce que vous pensiez que la libération des mémoires tampons et du cache était une chose positive, allez lire Linux a mangé ma RAM! . La nouvelle: la mémoire libre est une mémoire inutilisée est une mémoire perdue .
Réponses:
Vider le cache des tampons
Si jamais vous voulez le vider, vous pouvez utiliser cette chaîne de commandes.
Vous pouvez indiquer au noyau Linux de supprimer divers aspects des éléments mis en cache en modifiant l'argument numérique de la commande ci-dessus.
Pour libérer pagecache:
Pour libérer les dentiers et les inodes:
Pour libérer pagecache, dentries et inodes:
Ce qui précède est destiné à être exécuté en tant que root. Si vous essayez de les utiliser en utilisant
sudo
alors vous devrez changer légèrement la syntaxe en quelque chose comme ceci:NOTE: Il existe une version plus ésotérique de la commande ci-dessus si vous aimez ça:
Pourquoi ce changement de syntaxe? Le
/bin/echo
programme s'exécute en tant que root,sudo
mais le shell qui redirige la sortie de l'écho vers le fichier root ne fonctionne toujours pas. Votre shell actuel effectue la redirection avant desudo
commencer.Voir ce qu'il y a dans les tampons et le cache
Examinez
linux-ftools
si vous souhaitez analyser le contenu des mémoires tampons et du cache. Spécifiquement si vous voulez voir quels fichiers sont actuellement mis en cache.fincore
Avec cet outil, vous pouvez voir quels fichiers sont mis en cache dans un répertoire donné.
Par exemple
/var/lib/mysql/blogindex
:Avec la sortie ci-dessus, vous pouvez voir qu'il y a plusieurs fichiers * .MYD, * .MYI et * .frm en cours de mise en cache.
Échanger
Si vous souhaitez effacer votre échange, vous pouvez utiliser les commandes suivantes.
Ensuite, utilisez cette commande pour désactiver le swap:
Vous pouvez confirmer qu'il est maintenant vide:
Et pour le réactiver:
Et maintenant reconfirmer avec
free
:la source
tee
pour écrire en tant que root:echo 3 | sudo tee /proc/sys/vm/drop-caches