So löschen Sie den RAM -Speicher -Cache, den Puffer und der Austausch auf Linux
- 5012
- 1484
- Marleen Weight
Wie jedes andere Betriebssystem hat GNU/Linux die Speicherverwaltung effizient und sogar mehr implementiert. Wenn jedoch ein Prozess Ihr Gedächtnis weggeht und Sie es löschen möchten, bietet Linux eine Möglichkeit, RAM -Cache zu spülen oder zu löschen.
- Finden Sie Top 15 Prozesse nach Speicherverbrauch unter Linux
- Finden Sie Top -Laufprozesse nach dem höchsten Speicher und der CPU -Verwendung unter Linux
- So begrenzen Sie die Zeit und den Speicherverbrauch von Prozessen unter Linux
So löschen Sie Cache unter Linux?
Jedes Linux -System verfügt über drei Optionen, um Cache zu löschen, ohne Prozesse oder Dienste zu unterbrechen.
1. Nur Pagecache löschen.
# synchronisieren; Echo 1>/proc/sys/vm/drop_caches
2. Klare Dentries und Inodes.
# synchronisieren; Echo 2>/proc/sys/vm/drop_caches
3. Pagecache, Dentries und Inodes löschen.
# synchronisieren; Echo 3>/proc/sys/vm/drop_caches
Erläuterung des obigen Befehls.
Synchronisation spüle den Dateisystempuffer. Befehl getrennt durch ";"
nacheinander ausführen. Die Shell wartet darauf, dass jeder Befehl beendet wird, bevor der nächste Befehl in der Sequenz ausgeführt wird. Wie in der Kernel -Dokumentation erwähnt, schreiben Sie an Drop_cache Der Befehl Echo wird Cache, ohne eine Anwendung/einen Dienst zu töten.
Wenn Sie den Festplatten -Cache löschen müssen, ist der erste Befehl in Enterprise und Produktion als am sichersten als „… Echo 1>… .”
werde die löschen Pagecache nur. Es wird nicht empfohlen, die dritte Option oben zu verwenden "... echo 3>"
in der Produktion, bis Sie wissen, was Sie tun, wie es klar ist Pagecache, Dentries, Und Inoden.
Ist es eine gute Idee, Puffer und Cache in Linux zu befreien, der möglicherweise von Linux Kernel verwendet werden kann?
Kostenloser Puffer und Cache unter Linux
Wenn Sie verschiedene Einstellungen anwenden und überprüfen möchten. Wenn es tatsächlich speziell auf dem I/O-outssiven Benchmark implementiert ist, müssen Sie möglicherweise den Puffer-Cache löschen. Sie können Cache wie oben erläutert fallen lassen, ohne das System i neu zu starten.e., Keine Ausfallzeit erforderlich.
Linux ist so gestaltet, dass es in den Scheibencache schaut, bevor es auf die Festplatte schaut. Wenn sie die Ressource im Cache findet, erreicht die Anfrage die Festplatte nicht. Wenn wir den Cache reinigen, ist der Festplatten -Cache weniger nützlich, da das Betriebssystem nach der Ressource auf der Festplatte sucht.
Darüber hinaus verlangsamt es das System auch für einige Sekunden, während der Cache gereinigt wird und jede vom Betriebssystem benötigte Ressource erneut im Festplatten -Cache geladen wird.
Jetzt werden wir ein Shell -Skript erstellen, um täglich bei automatischer RAM -Cache zu löschen 2 Uhr morgens über eine Cron -Scheduler -Aufgabe. Erstellen Sie ein Shell -Skript Cache leeren.Sch und fügen Sie die folgenden Zeilen hinzu.
#!/bin/bash # note, wir verwenden "echo 3", aber es wird in der Produktion nicht empfohlen, sondern verwenden "echo 1" echo "echo 3>/proc/sys/vm/drop_caches"
Stellen Sie die Erlaubnis aus Cache leeren.Sch Datei.
# Chmod 755 ClearCache.Sch
Jetzt können Sie das Skript anrufen, wenn Sie den RAM -Cache löschen müssen.
Stellen Sie nun einen Cron ein, um den Ram -Cache jeden Tag um 2 Uhr morgens zu löschen. Offen Crontab zum Bearbeiten.
# Crontab -e
Gehen Sie die folgende Zeile an, speichern und beenden Sie sie aus, um sie auszuführen 2 Uhr morgens täglich.
0 2 * * */path/to/clearcache.Sch
Weitere Informationen zum Cronen -Job möchten Sie möglicherweise unseren Artikel unter 11 Cron Planing Jobs überprüfen.
Ist es eine gute Idee, den RAM -Cache auf dem Produktionsserver automatisch zu löschen?
RAM RAM -Cache auf Linux Production Server löschen?
NEIN! es ist nicht. Stellen Sie sich eine Situation vor, in der Sie das Skript geplant haben, um RAM -Cache jeden Tag zu löschen 2 Uhr morgens. Jeden Tag um 2 Uhr morgens wird das Skript ausgeführt und spült Ihren RAM -Cache. Eines Tages, aus welchen Gründen auch immer der Grund ist, sind möglicherweise mehr als erwartete Benutzer online auf Ihrer Website und suchen nach Ressourcen von Ihrem Server.
Gleichzeitig wird das geplante Skript ausgeführt und löscht alles im Cache. Jetzt holen alle Benutzer Daten von der Festplatte ab. Dies führt zu einem Serverabsturz und beschädigt die Datenbank. Löschen Sie also Ram-Cache nur, wenn Sie erforderlich sind und Ihre Schritte kennen, sonst sind Sie ein Cargo-Kult-Systemadministrator.
So löschen Sie den Austausch in Linux?
Wenn Sie den Austauschplatz löschen möchten, möchten Sie möglicherweise den folgenden Befehl ausführen.
# swapoff -a && swapon -a
Außerdem können Sie den obigen Befehl oben zu einem Cron -Skript hinzufügen, nachdem Sie alle zugehörigen Risiken verstanden haben.
Jetzt werden wir beide obigen Befehle zu einem einzigen Befehl kombinieren, um ein richtiges Skript zu erstellen, um den RAM -Cache zu löschen und Platz auszutauschen.
# echo 3>/proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\ n%s \ n "Ram -Cache und Swap gelöscht' oder $ su -c" echo 3> '/proc/ sys/vm/drop_caches '&& swapoff -a && swapon -a && printf' \ n%s \ n "Ram -Cache und Swap gelöscht '" root
Nachdem wir beide oben genannten Befehle getestet haben, werden wir den Befehl ausführen “frei -h”Vor und nach dem Ausführen des Skripts und überprüft den Cache.
Das ist alles vorerst, wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, uns Ihr wertvolles Feedback in den Kommentaren zu geben, um uns mitzuteilen, was Sie für eine gute Idee halten, um RAM -Cache und Puffer in Produktion und Unternehmen zu löschen?
- « 15 nützliche IFConfig -Kreife, um die Netzwerkschnittstelle unter Linux zu konfigurieren
- So installieren Sie Ubuntu neben Windows in Dual-Boot »