Ich arbeite mit Apache2 + PHP und anderen Webserver-Apps.
Ich habe Monitor als Sitzung, die eine Verbindung zu einem Webserver herstellt. RAM-Speicher ist voll.
Beim Trennen einer Sitzung wird jedoch der RAM-Speicher nicht freigegeben.
Ich habe Monitor via free -m
und es zeigt unveröffentlichten Speicher, auch wenn jetzt keine Sitzung verbunden ist.
Gibt es eine Lösung?
ram
memory-usage
Tejaskumar Panzer
quelle
quelle
htop
zu Überwachungszwecken versuchen . Es ist viel intuitiver und in den offiziellen Repos verfügbar. Wenn Ihnen wirklich der Arbeitsspeicher ausgeht, geben Sie uns weitere Informationen wie die Art der von Ihnen ausgeführten Webanwendung, die Menge des verfügbaren Arbeitsspeichers, die verwendeten Daten und alles. Fügen Sie die Ausgabe von free -m und dergleichen ein.Antworten:
Mit diesem Befehl können Sie nicht verwendeten Speicher freigeben:
Dieser Befehl synchronisiert zwischengespeicherte Daten und schreibt zur Laufzeit einen Betriebssystemparameter unter / proc / sys / vm / drop_caches . Dieser Parameter wird einmal vom Kernel gelesen und gibt dann den nicht verwendeten Speicher frei.
Grundsätzlich reserviert der Kernel drei Abschnitte im Cache, die die Speichernutzung erhöhen könnten:
Wenn Sie in diesen Parameter schreiben, löscht der Kernel saubere Seitencaches, Dentries und Inodes aus dem RAM, wodurch dieser Speicher frei wird. Es können drei Werte zugewiesen werden:
Wichtig: Nach der Ausführung wird der normale Zustand wiederhergestellt, dh das Zwischenspeichern von Seitencaches, Dentries und Inodes wird erneut gestartet. Verwenden Sie es abhängig von Ihrer Serverkonfiguration und -anwendung.
quelle
sudo sync & sudo sysctl -w vm.drop_caches=3
sudo
ein zweites Mal einschließen . Ansonsten bekomme ich den Fehlersysctl: permission denied on key 'vm.drop_caches'