web-dev-qa-db-fra.com

Pourquoi Ubuntu ne semble-t-il pas libérer de la mémoire?

Je travaille avec Apache2 + php et d'autres applications de serveur Web.

J'ai moniteur en tant que session se connectant à un serveur Web. RAM la mémoire est pleine.

Mais lors de la déconnexion d'une session, la mémoire RAM ne se libère pas.

J'ai moniteur via free -m, et il montre la mémoire non libérée même sans session maintenant connectée.

Y a-t-il une solution?

8
Tejaskumar Tank

Vous pouvez libérer de la mémoire inutilisée en utilisant cette commande:

Sudo sync & sysctl -w vm.drop_caches=3

Cette commande synchronise les données en cache, puis écrit un paramètre de système d’exploitation lors de l’exécution situé à /proc/sys/vm/drop_caches . Ce paramètre est lu une fois par le noyau, puis libère la mémoire inutilisée.

Fondamentalement, le noyau réserve trois sections dans le cache, ce qui pourrait augmenter l'utilisation de la mémoire:

  • pagecache
  • les pâtisseries
  • inodes

En écrivant dans ce paramètre, le noyau supprimera de la mémoire vive les pagecaches, dentries et inodes propres, ce qui rendra la mémoire libre. Trois valeurs peuvent être attribuées:

  1. vm.drop_caches = 1 pages libres.
  2. vm.drop_caches = 2 dentries et inodes gratuits.
  3. vm.drop_caches = pagecaches, dentries et inodes gratuits.

Important: Après l'exécution, cela reviendra à l'état normal, ce qui signifie que la mise en cache des pagecaches, dentries et inodes sera à nouveau mise en cache. tilisez-le en fonction de la configuration de votre serveur et de l'application.

9
JG.