it-swarm.com.de

Warum scheint Ubuntu keinen Speicher freizugeben?

Ich arbeite mit Apache2 + PHP und anderen Webserver-Apps.

Ich habe Monitor als Sitzung mit einem Webserver verbunden. RAM Speicher ist voll.

Beim Trennen einer Sitzung wird jedoch nicht der RAM -Speicher freigegeben.

Ich habe über free -m überwacht und es zeigt unveröffentlichten Speicher, auch wenn jetzt keine Sitzung verbunden ist.

Gibt es eine lösung

8
Tejaskumar Tank

Mit diesem Befehl können Sie nicht verwendeten Speicher freigeben:

Sudo sync & sysctl -w vm.drop_caches=3

Dieser Befehl synchronisiert zwischengespeicherte Daten und schreibt dann zur Laufzeit einen Betriebssystemparameter unter /proc/sys/vm/drop_caches . Dieser Parameter wird vom Kernel einmal gelesen und gibt dann den nicht verwendeten Speicher frei.

Grundsätzlich reserviert der Kernel drei Abschnitte im Cache, was die Speichernutzung erhöhen könnte:

  • seitencache
  • einträge
  • inodes

Das Schreiben in diesen Parameter bewirkt, dass der Kernel saubere Pagecaches, Einträge und Inodes aus dem RAM löscht, wodurch dieser Speicher frei wird. Es gibt drei Werte, die zugewiesen werden können:

  1. vm.drop_caches = 1 freie Pagecaches.
  2. vm.drop_caches = 2 freie Einträge und Inodes.
  3. vm.drop_caches = freie Pagecaches, Dentries und Inodes.

Wichtig: Nach der Ausführung kehrt das Programm in den normalen Zustand zurück, was bedeutet, dass Seitencaches, Einträge und Inodes erneut zwischengespeichert werden. Verwenden Sie es abhängig von Ihrer Serverkonfiguration und -anwendung.

9
JG.