Comme tout autre système d’exploitation, GNU/Linux a implémenté la gestion de la mémoire de manière efficace et même plus que cela. Mais si un processus ronge votre mémoire et que vous souhaitez l’effacer, Linux fournit un moyen de vider ou d’effacer le cache RAM.

Comment vider le cache sous Linux ?

Chaque système Linux dispose de trois options pour effacer le cache sans interrompre aucun processus ou service.

1. Effacez PageCache uniquement.

# sync; echo 1 > /proc/sys/vm/drop_caches

2. Effacer les dentries et les inodes.

# sync; echo 2 > /proc/sys/vm/drop_caches

3. Effacer le cache de page, les dentries et les inodes.

Publicité
# sync; echo 3 > /proc/sys/vm/drop_caches 

Explication de la commande ci-dessus.

synchronisation videra le tampon du système de fichiers. Commande Séparée par “;” exécuter séquentiellement. Le shell attend la fin de chaque commande avant d’exécuter la commande suivante de la séquence. Comme mentionné dans la documentation du noyau, écrire sur drop_cache nettoiera le cache sans tuer aucune application/service, écho de commande fait le travail d’écriture dans un fichier.

Si vous devez effacer le cache disque, la première commande est la plus sûre en entreprise et en production car “...echo 1 > ….” effacera le PageCache seulement. Il n’est pas recommandé d’utiliser la troisième option ci-dessus “...echo 3 >” en production jusqu’à ce que vous sachiez ce que vous faites, car cela cache de pages, dentiers, et inœuds.

Est-ce une bonne idée de libérer le tampon et le cache sous Linux qui pourraient être utilisés par le noyau Linux ?

Tampon et cache gratuits sous Linux

Lorsque vous appliquez divers paramètres et que vous souhaitez vérifier s’il est réellement implémenté spécialement sur le test d’E/S étendu, vous devrez peut-être vider le cache tampon. Vous pouvez supprimer le cache comme expliqué ci-dessus sans redémarrer le système, c’est-à-dire sans temps d’arrêt requis.

Linux est conçu de telle manière qu’il regarde dans le cache disque avant de regarder sur le disque. S’il trouve la ressource dans le cache, la requête n’atteint pas le disque. Si nous nettoyons le cache, le cache disque sera moins utile car le système d’exploitation recherchera la ressource sur le disque.

De plus, cela ralentira également le système pendant quelques secondes pendant que le cache est nettoyé et que chaque ressource requise par le système d’exploitation est à nouveau chargée dans le cache disque.

Nous allons maintenant créer un script shell pour effacer automatiquement le cache RAM quotidiennement à 2 heures du matin via une tâche du planificateur cron. Créer un script shell clearcache.sh et ajoutez les lignes suivantes.

#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches"

Définir l’autorisation d’exécution sur le clearcache.sh fichier.

# chmod 755 clearcache.sh

Maintenant, vous pouvez appeler le script chaque fois que vous devez effacer le cache RAM.

Définissez maintenant un cron pour effacer le cache RAM tous les jours à 2 heures du matin. Ouvert crontab pour l’édition.

# crontab -e

Ajoutez la ligne ci-dessous, enregistrez et quittez pour l’exécuter à 2 heures du matin du quotidien.

0  2  *  *  *  /path/to/clearcache.sh

Pour plus de détails sur la façon de cron un travail, vous pouvez consulter notre article sur 11 tâches de planification de Cron.

Est-ce une bonne idée d’effacer automatiquement le cache RAM sur le serveur de production ?

Effacer le cache RAM sur le serveur de production Linux ?

Non! ce n’est pas. Pensez à une situation où vous avez programmé le script pour effacer le cache RAM tous les jours à 2 heures du matin. Chaque jour à 2 heures du matin, le script est exécuté et vide votre cache RAM. Un jour, pour quelque raison que ce soit, il se peut que plus d’utilisateurs que prévu soient en ligne sur votre site Web et recherchent des ressources sur votre serveur.

En même temps, le script planifié s’exécute et efface tout dans le cache. Maintenant, tous les utilisateurs récupèrent les données du disque. Cela entraînera un plantage du serveur et corrompre la base de données. Donc, effacez le cache du bélier uniquement lorsque cela est nécessaire et connaissez vos traces, sinon vous êtes un administrateur du système Cargo Cult.

Comment effacer l’espace d’échange sous Linux ?

Si vous souhaitez effacer l’espace d’échange, vous pouvez exécuter la commande ci-dessous.

# swapoff -a && swapon -a

En outre, vous pouvez ajouter la commande ci-dessus à un script cron ci-dessus, après avoir compris tous les risques associés.

Nous allons maintenant combiner les deux commandes ci-dessus en une seule commande pour créer un script approprié pour effacer le cache RAM et l’espace d’échange.

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf 'n%sn' 'Ram-cache and Swap Cleared'

OR

$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf 'n%sn' 'Ram-cache and Swap Cleared'" root

Après avoir testé les deux commandes ci-dessus, nous exécuterons la commande « libre -h” avant et après l’exécution du script et vérifiera le cache.

Effacer Le Cache Ram Et Échanger L'Espace

C’est tout pour l’instant, si vous avez aimé l’article, n’oubliez pas de nous faire part de vos précieux retours dans les commentaires pour nous faire savoir, qu’est-ce que vous pensez être une bonne idée pour vider le cache RAM et le buffer en production et Enterprise ?

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT pour tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café ( ou 2 ) en guise de remerciement.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

.

Rate this post
Publicité
Article précédentLes cinémas AMC accepteront Bitcoin d’ici la fin de l’année
Article suivantFortnite va ajouter le skin Gamora » TalkEsport
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici