Dans ce didacticiel, nous apprendrons comment vider le cache RAM sous Linux et nettoyer l'espace Swap.
Comme tous les autres systèmes d'exploitation, GNU/Linux a également implémenté un système de gestion de la mémoire. Cependant, la gestion de la mémoire de Linux est beaucoup plus efficace et même plus utilisée que celle des autres systèmes d'exploitation. Cependant, dans certains cas, vous souhaitez contrôler la gestion de la mémoire ou si un ou plusieurs processus consomment la RAM de votre système. Dans ce cas, nous voulons l’arrêter ; Linux fournit quelques moyens de vider (vider le cache RAM).
Comment vider le cache sous Linux ?
Presque dans tous les systèmes Linux, trois méthodes sont proposées pour vider le cache. Certains d’entre eux peuvent être utilisés de manière remarquable sans interrompre les processus ou services en cours. Les trois manières sont les suivantes :
- Effacer PageCache uniquement
- Effacer les dents et les inodes
- Effacer les entrées et les inodes, effacer PageCache
Nous discuterons des trois méthodes en détail et verrons également leur mise en œuvre pratique :
1. Effacer PageCache uniquement-
Cette méthode est l'un des moyens les plus sûrs de nettoyer le cache de Linux, car elle peut vider le cache sans interrompre les opérations, applications et services en cours. On dit que c'est le moyen le plus sûr de nettoyer le cache car il peut être utilisé en production, et il nettoie uniquement le PageCache. Dans cette méthode, les commandes suivantes sont utilisées :
Commande
# sync ; echo 1 > proc/sys/vm/drop_caches
Explication:
Dans la commande ci-dessus, le ' synchroniser ' est utilisé pour vider le tampon du système de fichiers et la commande est séparée par ' ; ' exécuté de manière séquentielle.
Cependant, le shell attend que chaque commande soit exécutée ou terminée avant de commencer l'exécution de la prochaine commande disponible dans la séquence.
Le drop_caches sont utilisés pour vider ou nettoyer le cache sans tuer ou affecter toute autre application ou service en cours d'exécution, comme cela est également clairement mentionné dans la documentation du noyau. Le ' écho ' La commande effectue le travail d'écriture dans les fichiers.
Étapes pour vider le PageCache à l’aide du terminal :
Étape 1 - Ouvrez le terminal sous Linux et tapez la commande suivante, puis appuyez sur Entrée. Une fois la commande exécutée, elle affichera les informations sur la mémoire du système, comme le montre l'exemple :
Commande
free
La commande ci-dessus est utilisée pour afficher la quantité de mémoire utilisée et afficher d'autres facteurs tels que la mémoire totale disponible, la mémoire d'échange, etc. Nous pouvons utiliser ceci ' gratuit ' juste avant et après l'utilisation de chaque méthode.
Il est nécessaire d'utiliser la commande 'free' avant et après l'exécution de la commande réelle afin que nous puissions facilement voir ou détecter les changements dans l'allocation de mémoire. Voyons un exemple pour comprendre comment l'ensemble du processus fonctionne réellement :
Exemple
2. Effacer les dents et les inodes-
Cette méthode est utilisée pour effacer la mémoire des dentries et des inodes. C'est exactement comme la première méthode mais légèrement différente car elle est utilisée pour effacer la mémoire des dentries et des inodes au lieu d'effacer la mémoire de PageCache. Pourtant, cela ressemble beaucoup à la première méthode dont nous avons discuté ci-dessus. La commande utilisée dans cette méthode est donnée ci-dessous :
Commande
# sync ; echo 2 > proc / sys / vm / drop_caches
Voyons un exemple pour comprendre comment implémenter cette méthode :
Exemple
3. Effacer les entrées et les inodes, effacer PageCache
C'est l'une des méthodes les plus efficaces. Néanmoins, il n’est traditionnellement pas recommandé de l’utiliser avant de savoir ce que l’on fait car il n’est pas considéré comme le plus sûr à utiliser, notamment en production. La commande utilisée dans cette méthode utilise 'echo 3 >' qui nettoie en même temps le PageCache, les dentries et les inodes.
Commande:
# sync ; echo 3 > / porc / sys / vm / drop_caches
Pour comprendre plus en détail comment cela fonctionne réellement, considérons l'exemple donné :
Exemple:
Remarque : Il n'est pas recommandé de l'utiliser en production à moins que vous sachiez ce que vous faites, car il nettoiera instantanément PageCache et les entrées, ainsi que les inodes, comme nous l'avons déjà évoqué ci-dessus.
Échanger de l'espace
En général, l'espace de swap est utilisé lorsque l'utilisation de la mémoire physique est presque à son apogée. Ainsi, lorsque et si le système a besoin de plus de ressources mémoire et que la RAM physique est pleine, toutes les pages inactives sont transférées vers l'espace mémoire d'échange.
Cependant, l'espace mémoire d'échange aide également le système en tant que quantité de RAM petite mais efficace. Pourtant, il n’est sans doute pas recommandé de considérer l’espace d’échange comme le bélier physique.
Comment libérer de l’espace de swap sous Linux ?
Pour effacer la mémoire d'échange sur votre système, il vous suffit de désactiver le swap. Cela déplacera toutes les données de la mémoire d'échange vers la RAM. Cela signifie également que vous devez vous assurer que vous disposez de suffisamment de RAM dans votre système pour prendre en charge cette opération.
Un moyen simple de procéder consiste à exécuter le 'libre-m' commande pour voir ce qui est utilisé dans le Swap, la RAM, puis désactivez le Swap.
Une fois que vous l'avez éteint, vous devez attendre 30 secondes ou plus pour laisser un peu de temps à l'opération, puis réactiver le Swap. Cela efface le cache de la mémoire de swap et le réactive, mais avant d'effacer le swap, vous devriez voir le paramètre actuel (ou par défaut) de votre système.
Pour voir le paramètre actuel de swappiness de votre système, il vous suffit d'ouvrir le terminal et d'utiliser la commande suivante comme indiqué dans le résultat :
cat /proc/sys/vm/swappiness
Sortir
Comme vous pouvez le constater, la valeur Swapiness actuelle de notre système est de « 60 » secondes. Cependant, si vous souhaitez la modifier, vous pouvez la définir entre 0 et 100. Le processus de modification (mise à jour) de cette valeur est assez simple. Voilà, vous devez taper la commande suivante dans le Terminal et appuyer sur Entrée :
Commande:
sudo sysctl vm.swappiness=x
(Ici x est la valeur d'échange que nous voulons définir)
Comme vous pouvez le voir dans le résultat ci-dessus, la valeur de swap actuelle de notre système (ou valeur par défaut) est de 60. Essayons de changer la valeur de swap à 40.
1. Ouvrez le terminal en appuyant sur le bouton Ctrl+Alt+T sur le clavier.
2. Une fois le terminal ouvert, tapez la commande suivante et appuyez sur Entrée, comme indiqué dans l'image ci-dessous :
sudo sysctl vm.swappiness=40
Sortir
Remarque : Il peut vous demander de saisir le mot de passe car nous devons exécuter cette commande avec les privilèges de superutilisateur (utilisateur root).
Vérification
Pour vérifier que la valeur d'échange est mise à jour avec succès, tapez la commande suivante et appuyez sur le bouton Entrée :
cat /proc/sys/vm/swappiness
Sortir
Comme vous pouvez le voir dans le résultat, nous avons réussi à mettre à jour la valeur de swap à 40.
Effacer l'espace d'échange
Pour vider l'espace de swap, la démarche est assez simple car il suffit de faire du vélo le Swap, grâce auquel toutes les données ou pages inactives sont retransférées dans la RAM à partir de l'espace mémoire Swap. Une fois que vous avez quitté le swap, vous devez attendre 30 secondes et redémarrer ou parcourir à nouveau l'espace de swap.
Commandes utiles :
Voici quelques commandes de base qui nous aideront à nettoyer l'espace d'échange :
Étapes pour effacer la mémoire d'échange
Voyons comment utiliser ces commandes pour libérer de l'espace de swap ou de la mémoire :
Étape 1. Ouvrez le terminal en appuyant sur le bouton ' Ctrl+Alt+T ' sur le clavier.
Linux exécuter cmd
Étape 2. Une fois le terminal ouvert, tapez le ' sudo -je ' commande car nous pouvons avoir besoin privilèges de superutilisateur pour exécuter les commandes ci-dessus :
Étape 3. Tapez la commande 'free -m' pour afficher l'utilisation de la mémoire avant faire du vélo le Échanger :
Étape 4 Maintenant, tapez le ' Échange -a ' et appuyez sur Entrée pour désactiver le swap comme indiqué ci-dessous :
Étape 5. Après le faire du vélo , le Swap attend au moins 40 secondes.
Étape 6. Tapez maintenant « swap-a » et appuyez sur Entrée pour réactiver Swap. Pour voir la différence (ou le changement) dans l'utilisation de la mémoire, exécutez une nouvelle fois la commande « free-m », comme indiqué ci-dessous :
Espérons que cela vous aidera à vider la mémoire d'échange de votre système si jamais vous vous trouvez dans une telle situation.