In diesem Tutorial erfahren Sie, wie Sie den RAM-Cache unter Linux leeren und den Swap-Speicherplatz bereinigen.
Wie alle anderen Betriebssysteme verfügt auch GNU/Linux über ein Speicherverwaltungssystem. Allerdings ist die Speicherverwaltung von Linux viel effizienter und wird sogar häufiger genutzt als bei anderen Betriebssystemen. In einigen Fällen jedoch, wenn Sie die Speicherverwaltung steuern möchten oder wenn ein oder mehrere Prozesse den Arbeitsspeicher Ihres Systems verbrauchen. In einem solchen Fall wollen wir es stoppen; Linux Bietet einige Möglichkeiten zum Leeren (RAM-Cache leeren).
Wie lösche ich den Cache unter Linux?
Fast in jedem Linux-System stehen drei Methoden zum Löschen des Caches zur Verfügung. Einige davon können hervorragend genutzt werden, ohne laufende Prozesse oder Dienste zu unterbrechen. Die drei Möglichkeiten sind wie folgt:
- Nur PageCache löschen
- Löschen Sie Einträge und Inodes
- Dentries und Inodes löschen, PageCache löschen
Wir werden alle drei Methoden im Detail besprechen und uns auch ihre praktische Umsetzung ansehen:
1. Nur PageCache löschen –
Diese Methode ist eine der sichersten Möglichkeiten, den Cache von Linux zu bereinigen, da sie den Cache leeren kann, ohne laufende Vorgänge, Anwendungen und Dienste zu beenden. Dies gilt als die sicherste Methode zum Bereinigen des Caches, da sie in der Produktion verwendet werden kann und nur den PageCache bereinigt. Bei dieser Methode werden die folgenden Befehle verwendet:
Befehl
# sync ; echo 1 > proc/sys/vm/drop_caches
Erläuterung:
Im obigen Befehl ist das ' synchronisieren ' wird zum Leeren des Dateisystempuffers verwendet und der Befehl wird durch ' getrennt. ; ' werden nacheinander ausgeführt.
Die Shell wartet jedoch darauf, dass jeder Befehl ausgeführt oder beendet wird, bevor sie mit der Ausführung des nächsten verfügbaren Befehls in der Sequenz beginnt.
Der drop_caches werden zum Leeren oder Bereinigen des Caches verwendet, ohne andere laufende Anwendungen oder Dienste zu töten oder zu beeinträchtigen, wie auch in der Kernel-Dokumentation klar erwähnt wird. Der ' Echo Der Befehl ' übernimmt die Aufgabe, in Dateien zu schreiben.
for-Schleife im Shell-Skript
Schritte zum Löschen des PageCache über das Terminal:
Schritt 1 - Öffnen Sie das Terminal unter Linux, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste. Sobald der Befehl ausgeführt wird, werden Informationen zum Systemspeicher angezeigt, wie im Beispiel gezeigt:
Zeichen zu String Java
Befehl
free
Der obige Befehl wird verwendet, um anzuzeigen, wie viel Speicher verwendet wird, und um andere Faktoren wie den gesamten verfügbaren Speicher, den Auslagerungsspeicher usw. anzuzeigen. Wir können Folgendes verwenden: frei '-Befehl direkt vor und nach der Verwendung jeder Methode.
Es ist notwendig, den Befehl „free“ vor und nach der Ausführung des eigentlichen Befehls zu verwenden, damit wir Änderungen in der Speicherzuweisung leicht erkennen oder erkennen können. Sehen Sie sich ein Beispiel an, um zu verstehen, wie der gesamte Prozess tatsächlich funktioniert:
Beispiel
2. Löschen Sie Einträge und Inodes.
Diese Methode wird verwendet, um den Speicher von Dentries und Inodes zu löschen. Es ist genau wie die erste Methode, unterscheidet sich jedoch geringfügig, da es zum Löschen des Speichers von Dentries und Inodes verwendet wird, anstatt den Speicher von PageCache zu löschen. Dennoch ähnelt es stark der ersten Methode, die wir oben besprochen haben. Der in dieser Methode verwendete Befehl ist unten angegeben:
Befehl
# sync ; echo 2 > proc / sys / vm / drop_caches
Sehen wir uns ein Beispiel an, um zu verstehen, wie diese Methode implementiert wird:
Beispiel
3. Dentries und Inodes löschen, PageCache löschen
Es ist eine der effektivsten Methoden. Dennoch wird die Verwendung traditionell nicht empfohlen, bis Sie wissen, was Sie tun, da die Verwendung insbesondere in der Produktion nicht als die sicherste gilt. Der in dieser Methode verwendete Befehl verwendet „echo 3 >“, das gleichzeitig den PageCache, die Einträge und die Inodes bereinigt.
Befehl:
# sync ; echo 3 > / porc / sys / vm / drop_caches
Um genauer zu verstehen, wie es tatsächlich funktioniert, betrachten Sie das folgende Beispiel:
Beispiel:
Hinweis: Es wird nicht empfohlen, es in der Produktion zu verwenden, es sei denn, Sie wissen, was Sie tun, da es PageCache und Dentries sowie Inodes sofort bereinigt, wie wir oben bereits besprochen haben.
Swap-Platz
Im Allgemeinen wird der Swap-Bereich verwendet, wenn die Auslastung des physischen Speichers fast ihren Höhepunkt erreicht hat. Wenn das System also mehr Speicherressourcen benötigt und der physische RAM voll ist, werden alle inaktiven Seiten in den Auslagerungsspeicherraum übertragen.
So bestimmen Sie die Monitorgröße
Der Swap-Speicherplatz hilft dem System jedoch auch als kleine, aber effektive Menge an RAM. Dennoch ist es zweifellos nicht empfehlenswert, den Swap Space als physischen Ram zu betrachten.
Wie lösche ich den Auslagerungsspeicher unter Linux?
Um den Swap-Speicher auf Ihrem System zu löschen, müssen Sie lediglich den Swap ausschalten. Dadurch werden alle Daten vom Swap-Speicher zurück in den RAM verschoben. Das bedeutet auch, dass Sie sicherstellen müssen, dass Ihr System über genügend RAM verfügt, um diesen Vorgang zu unterstützen.
Eine einfache Möglichkeit, dies zu tun, besteht darin, Folgendes auszuführen 'free-m' Befehl, um zu sehen, was im Swap und RAM verwendet wird, und deaktivieren Sie dann den Swap.
Nachdem Sie den Swap ausgeschaltet haben, sollten Sie mindestens 30 Sekunden warten, damit der Vorgang abgeschlossen werden kann, und den Swap dann wieder einschalten. Dadurch wird der Swap-Speichercache gelöscht und wieder aktiviert. Bevor Sie den Swap löschen, sollten Sie jedoch die aktuelle (oder Standard-)Einstellung Ihres Systems sehen.
Um die aktuelle Einstellung der Swapiness Ihres Systems anzuzeigen, müssen Sie lediglich das Terminal öffnen und den folgenden Befehl verwenden, wie in der Ausgabe gezeigt:
cat /proc/sys/vm/swappiness
Ausgabe
Beispiel für eine Java-Karte
Wie Sie sehen können, beträgt der aktuelle Swappiness-Wert unseres Systems „60“ Sekunden. Wenn Sie ihn jedoch ändern möchten, können Sie ihn auf einen Wert zwischen 0 und 100 einstellen. Das Bearbeiten (Aktualisieren) dieses Werts ist recht einfach. Alles, Sie müssen den folgenden Befehl in das Terminal eingeben und die Eingabetaste drücken:
Befehl:
sudo sysctl vm.swappiness=x
(Hier ist x der Swap-Wert, den wir festlegen möchten)
Wie Sie in der oben angegebenen Ausgabe sehen können, beträgt der aktuelle Swap-Wert (oder Standardwert) unseres Systems 60. Versuchen wir, den Swap-Wert auf 40 zu ändern.
1. Öffnen Sie das Terminal, indem Sie auf drücken Strg+Alt+T auf der Tastatur.
2. Sobald das Terminal geöffnet ist, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste, wie im Bild unten gezeigt:
sudo sysctl vm.swappiness=40
Ausgabe
Hinweis: Möglicherweise werden Sie aufgefordert, das Passwort einzugeben, da wir diesen Befehl mit SuperUser-Berechtigungen (Root-Benutzer) ausführen müssen.
Überprüfung
Um zu überprüfen, ob der Swap-Wert erfolgreich aktualisiert wurde, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
cat /proc/sys/vm/swappiness
Ausgabe
Wie Sie in der Ausgabe sehen können, haben wir den Swap-Wert erfolgreich auf 40 aktualisiert.
Leeren Sie den Swap-Bereich
Der Vorgang zum Löschen des Swap-Speicherplatzes ist recht einfach, denn wir müssen es einfach tun Zyklus aus der Swap, wodurch alle Daten oder inaktiven Seiten vom Swap-Speicherplatz zurück in den RAM übertragen werden. Sobald Sie den Swap verlassen, müssen Sie 30 Sekunden warten und einen Neustart durchführen oder den Swap Space erneut nutzen.
Nützliche Befehle:
Dies sind einige grundlegende Befehle, die uns beim Bereinigen des Swap Space helfen:
Schritte zum Löschen des Swap-Speichers
Sehen wir uns an, wie Sie mit diesen Befehlen den Auslagerungsraum oder den Speicher löschen:
Schritt 1. Öffnen Sie das Terminal, indem Sie die Taste „ Strg+Alt+T ' auf der Tastatur.
Schritt 2. Sobald das Terminal geöffnet ist, geben Sie Folgendes ein: sudo -i ' Befehl, weil wir es möglicherweise benötigen Superuser-Berechtigungen um die oben angegebenen Befehle auszuführen:
Schritt 3. Geben Sie den Befehl „free -m“ ein, um die Speicherauslastung vorher anzuzeigen Zyklus aus Die Tauschen :
Fehler: Hauptklasse konnte nicht gefunden oder geladen werden
Schritt 4 Geben Sie nun Folgendes ein: Swapoff -a 'Befehl und drücken Sie die Eingabetaste, um den Swap wie unten gezeigt zu beenden:
Schritt 5. Nach dem Zyklus aus , wartet der Swap mindestens 40 Sekunden.
Schritt 6. Geben Sie nun „swap-a“ ein und drücken Sie die Eingabetaste, um Swap wieder zu aktivieren. Um den Unterschied (oder die Änderung) in der Speichernutzung zu sehen, führen Sie den Befehl „free-m“ noch einmal aus, wie unten gezeigt:
Hoffentlich hilft Ihnen dies dabei, den Auslagerungsspeicher Ihres Systems zu löschen, falls Sie sich jemals in einer solchen Situation befinden.