Speichercaches von Linux leeren

Der 2.6er Kernel bietet die Möglichkeit den Speichercaches des Filesystems freizugeben. Im Normalfall funktioniert das Speichermanagement von Linux problemlos, manchmal kann man jedoch Hand anlegen. Über den Sinn dieser Funktion kann man sich streiten, doch eigentlich ist die Funktion für Debugging und Programmieren gedacht. Der Arbeitsspeicher des Linux internen Speichermanagements kann nur durch ein Reboot oder mit ein paar Befehlen freigegeben werden. Durch top können die speziellen Caches nicht gesondert angezeigt werden. Eine Alternative ist htop, es zeigt den verwendeten Speicher an und kann mit apt-get install htop auf dem System installiert werden. Sinn, den Cache auf einem Produktivsystem zu leeren, macht es nicht – im Gegenteil. Die Seiten, die vorher im Cache lagerten, müssen bei einem erneutem Zugriff wieder von der langsamen Festplatte geholt werden.

Hinweis: Diese Befehle nur ausführen, wenn wirklich noch genug Speicher zur Verfügung steht. Andernfalls ist mit einem Systemabsturz zu rechnen. Vor der Aufräumaktion sollte mit sync der Speicher auf die Festplatte geschrieben werden.

Es gibt folgende Möglichkeiten:

1. Mit Pages, die über einen Eintrag auf der Festplatte verfügen, werden im schnellen RAM vorgehalten. Der Pagecache kann mit folgendem Befehl geleert werden:

2. Durch Dentrie- und Inodecache  wird ein Dateisystem im Speicher abgebildet. Dieser kann mit folgendem Befehl geleert werden:

3. Der komplette Cache (Page-, Dentrie- und Inodecache) lässt sich mit folgendem Befehl leeren:

Es kommt vor, dass auch Swap in Benutzung ist, obwohl genug freier Speicher zu Verfügung steht. Der Swap-Speicher kann mit folgendem Befehl geleert werden:

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.