Website-Suche

So löschen Sie RAM-Speichercache, Puffer und Swap unter Linux


Wie jedes andere Betriebssystem hat GNU/Linux die Speicherverwaltung effizient implementiert und sogar noch mehr. Wenn jedoch ein Prozess Ihren Speicher verschlingt und Sie ihn löschen möchten, bietet Linux eine Möglichkeit, den RAM-Cache zu leeren oder zu löschen.

In diesem Artikel erfahren Sie, wie Sie RAM-Speichercache, Puffer und Auslagerungsspeicher auf einem Linux-System löschen, um die Gesamtleistung zu verbessern.

Grundlegendes zu RAM-Speichercache, Puffer und Swap Space

Lassen Sie uns den RAM-Speichercache, den Puffer und den Auslagerungsbereich auf einem Linux-System untersuchen.

RAM-Speichercache

Der RAM-Speichercache ist ein Mechanismus, der vom Kernel verwendet wird, um regelmäßig abgerufene Daten aufzubewahren. Während dies die Reaktionsfähigkeit des Systems steigert, kann ein überlasteter Cache zur Speicherung veralteter Daten führen, was sich negativ auf die Leistung auswirkt.

Puffer

Wie der Cache speichert der Puffer vorübergehend Daten, unterscheidet sich jedoch in seinem Zweck. Puffer speichern Daten, die zwischen Komponenten wie der CPU und der Festplatte übertragen werden, und ermöglichen so eine reibungslose Kommunikation. Allerdings kann ein Übermaß an gepufferten Daten die Systemgeschwindigkeit beeinträchtigen.

Swap-Platz

Swap Space ist ein zugewiesener Bereich auf der Festplatte, der als virtueller Speicher fungiert, wenn der physische RAM erschöpft ist. Es verhindert zwar Systemabstürze aufgrund von zu geringem Arbeitsspeicher, kann aber bei Überbeanspruchung das System verlangsamen.

Cache, Puffer und Swap Space unter Linux löschen

In bestimmten Situationen müssen Sie möglicherweise den Cache, den Puffer oder den Swap-Speicherplatz leeren, wie unten erläutert.

Wie lösche ich den RAM-Speichercache unter Linux?

Jedes Linux-System verfügt über drei Möglichkeiten, den Cache zu leeren, ohne Prozesse oder Dienste zu unterbrechen.

PageCache löschen

1. Um nur den PageCache zu löschen, können Sie den folgenden Befehl verwenden, der speziell den PageCache löscht und so dazu beiträgt, Speicherressourcen freizugeben.

sudo sync; echo 1 > /proc/sys/vm/drop_caches

Dentries und Inodes löschen

2. Um nur die Einträge und Inodes zu löschen, können Sie den folgenden Befehl verwenden, der das Dateisystem synchronisiert und sowohl Dentries als auch Inodes löscht: Verbesserung der Systemleistung durch Freigabe zwischengespeicherter Verzeichnis- und Inode-Informationen.

sudo sync; echo 2 > /proc/sys/vm/drop_caches

Löschen von PageCache, Dentries und Inodes

3. Um den Seitecache, die Einträge und die Inodes zu löschen, können Sie den folgenden Befehl verwenden, der die Synchronisierung durchführt Das Dateisystem und das Löschen des Seitencaches, der Einträge und der Inodes tragen dazu bei, Speicher freizugeben und die Systemleistung zu verbessern.

sudo sync; echo 3 > /proc/sys/vm/drop_caches 

Hier ist eine Erklärung jedes Teils des obigen Befehls:

  • Der sudo wird verwendet, um den Befehl als Superuser auszuführen.
  • Der sync leert den Dateisystempuffer.
  • Der “; ” Semikolon wird verwendet, um mehrere Befehle in einer einzigen Zeile zu trennen.
  • Der Befehl echo 3 > /proc/sys/vm/drop_caches wird verwendet, um den Seitencache zu löschen, einen temporären Speicherbereich für kürzlich aufgerufene Dateien.

Hinweis: Die Datei drop_caches steuert, welche Art von zwischengespeicherten Daten gelöscht werden sollen. Die Werte lauten wie folgt:

  • 1 – Löscht nur den Seitencache.
  • 2 – Löscht Einträge und Inodes.
  • 3 – Löscht den Seitencache, Dentries und Inodes.

Wie in der Kernel-Dokumentation erwähnt, wird durch das Schreiben in drop_caches der Cache bereinigt, ohne dass eine Anwendung/ein Dienst beendet wird. Der Befehl echo übernimmt die Aufgabe, in die Datei zu schreiben.

Wenn Sie den Festplattencache leeren müssen, ist der erste Befehl in Unternehmen und Produktion am sichersten als “...echo 1 > …. ” löscht nur den PageCache.

Es wird nicht empfohlen, die dritte Option oben “...echo 3 > ” in der Produktion zu verwenden, bis Sie wissen, was Sie tun, da dadurch der Seitecache geleert wird, dentries und Inodes.

Wie lösche ich den Swap Space unter Linux?

Um den Swap-Speicherplatz freizugeben, können Sie den Befehl swapoff mit der Option -a verwenden, wodurch alle Swap-Partitionen deaktiviert werden.

sudo swapoff -a

Kehren Sie es dann zurück, indem Sie den folgenden Befehl ausführen, der alle Swap-Partitionen aktiviert.

sudo swapon -a

Ist es ratsam, Puffer, Cache und Swap unter Linux freizugeben?

Im Allgemeinen ist es keine gute Idee, Puffer und Cache in Linux manuell freizugeben, die möglicherweise vom Linux-Kernel verwendet werden, da dieser darauf ausgelegt ist, diese Ressourcen effizient zu verwalten. und das manuelle Löschen kann die Systemleistung beeinträchtigen.

Allerdings kann es in seltenen Fällen vorkommen, dass Sie den Puffer und den Cache leeren müssen, z. B. wenn Sie unter starker Speicherauslastung leiden und den Speicher nicht auf andere Weise freigeben können. In diesen Fällen sollten Sie vorsichtig vorgehen und sich der möglichen Auswirkungen auf die Leistung bewusst sein.

Ebenso ist das Löschen des Auslagerungsspeichers unter Linux unter normalen Umständen im Allgemeinen keine Routine oder empfehlenswerte Vorgehensweise.

Automatisierung der Speicheroptimierung

Um den Vorgang zu automatisieren und den Speicher regelmäßig zu löschen, können Sie einen Cron-Job einrichten, der die Befehle in bestimmten Intervallen ausführt.

Öffnen Sie die Crontab-Konfiguration.

crontab -e

Fügen Sie die folgenden Zeilen hinzu, um Cache, Puffer und Auslagerungsspeicher täglich um Mitternacht zu leeren:

0 0 * * * sudo sync; echo 3 > /proc/sys/vm/drop_caches
0 0 * * * sudo echo 1 > /proc/sys/vm/drop_caches
0 0 * * * sudo sync; echo 2 > /proc/sys/vm/drop_caches
0 0 * * * sudo swapoff -a && sudo swapon -a

Weitere Informationen zum Planen eines Jobs mit Cron finden Sie in unserem Artikel mit dem Titel „11 Cron-Jobs planen“.

Ist es ratsam, den RAM-Cache auf einem Linux-Produktionsserver zu löschen?

Nein ist es nicht. Stellen Sie sich ein Szenario vor, in dem Sie ein Skript so geplant haben, dass es jeden Tag um 2 Uhr morgens den RAM-Cache löscht. Jeden Tag um 2 Uhr morgens wird das Skript ausgeführt und Ihr RAM-Cache geleert. Doch eines Tages sind unerwartet viele Nutzer auf Ihrer Website online, was die Ressourcen Ihres Servers stark beansprucht.

Gleichzeitig wird das geplante Skript ausgeführt und löscht alles im Cache. Jetzt rufen alle Benutzer Daten von der Festplatte ab, was möglicherweise zu einem Serverabsturz und einer Datenbankbeschädigung führt. Daher ist es wichtig, den RAM-Cache nur bei Bedarf zu leeren und dabei auf Ihre Handlungen zu achten. Andernfalls riskieren Sie, ein Cargo Cult-Systemadministrator zu werden.

Abschluss

Eine effiziente Speicherverwaltung ist entscheidend für ein reibungslos funktionierendes Linux-System. Durch regelmäßiges Löschen des RAM-Speichercaches, des Puffers und des Auslagerungsbereichs kann die Systemleistung erheblich verbessert werden. Wenn Sie diese Mechanismen verstehen und die bereitgestellten Befehle verwenden, können Sie dafür sorgen, dass Ihr Linux-System optimal läuft.

Das ist alles für den Moment. Wenn Ihnen der Artikel gefallen hat, denken Sie bitte daran, Ihr wertvolles Feedback in den Kommentaren mitzuteilen. Teilen Sie uns Ihre Meinung darüber mit, was Ihrer Meinung nach ein guter Ansatz zum Löschen des RAM-Cache und Puffers in Produktions- und Unternehmensumgebungen ist.