Verwalten der Swap-Nutzung unter Linux

Cum să gestionați utilizarea Swap în Linux
⏱️ 6 min read

Möglicherweise sind Systemverzögerungen, starke Swap-Nutzung oder Probleme mit wenig Arbeitsspeicher in Ihrem Linux-System aufgetreten. Ein üblicher Rat ist, „den Swapiness-Wert zu verringern“ und den Swap-Verbrauch zu reduzieren. aber was ist swappiness? Und ist es wirklich gut, es zu optimieren?

Hinweis: Wir werden nicht näher auf die Swap-Partition eingehen. Sie können alles darüber in unserem Artikel darüber lesen, was Sie über die Swap-Partition unter Linux wissen müssen.

Swappiness

In UNIX-ähnlichen Systemen gibt es einen Wert namens swappiness, der bestimmt, wie Seiten im Speicher behandelt werden. Der Standardwert auf den meisten Systemen ist “60”, kann jedoch auf einen Wert zwischen 0 und 100 eingestellt werden. Wenn der Arbeitsspeicher knapp wird, entfernt der Kernel entweder einige Datei-Caches, um mehr freien Arbeitsspeicher für Prozesse zu haben, oder tauscht einen Prozess aus Seiten vom RAM auf die Festplatte.

Ein Standardwert von 60 bedeutet, dass das Auslagern weniger verwendet wird und E / A-Caches mit größerer Wahrscheinlichkeit für die Neuzuweisung von RAM freigegeben werden. Das Entfernen von Caches wird als “billiger” (weniger ressourcenintensiv) angesehen, während das Austauschen von Seiten das Lesen und Schreiben von Datenträgern umfasst, wodurch sie “teurer” werden. Bei einem Wert von ’60 ‘ist die Swap-Nutzung geringfügig niedriger als die Wiederverwendung des Caches. Wenn der Wert für swappiness auf 100 erhöht wird, werden Swap und Datei-Cache-Räumung mit gleichem Gewicht verwendet. Dies bedeutet mehr Austausch und schnellere E / A als Standard. Niedrigere Werte wie „10“ bedeuten, dass das Austauschen viel weniger verwendet wird und E / A-Caches viel früher zugunsten von Prozessen entfernt werden können. Dies kann die Interaktivität erhöhen, aber auch die E / A-Geschwindigkeit beeinträchtigen.

Abnehmende Swappiness

Sie werden häufig die Ratschläge auf Websites und Foren sehen, um die Swappiness auf etwa „10“ zu reduzieren. Dies soll die Dinge beschleunigen, indem weniger Swap verwendet wird und mehr Prozesse im physischen RAM verbleiben. Diese Logik ist möglicherweise etwas zu einfach und möglicherweise keine „Einheitslösung“.

In den folgenden Szenarien kann es sinnvoll sein, den Wert von Swappiness zu verringern:

  • Für Datenbanksysteme oder wenn Sie viele datenbankintensive Anwendungen verwenden: Datenbanken handhaben das Zwischenspeichern von Dateien im Allgemeinen viel besser als das Betriebssystem. Wenn Sie die Swappiness reduzieren, wird das Datei-Caching des Betriebssystems eingeschränkt, sodass die Datenbank die Möglichkeit hat, ihre eigenen Caches zu verwalten.
  • Für Interaktivität: Wenn Sie viel Multitasking betreiben, aber nur wenige Dateien verarbeiten oder keine großen Dokumente öffnen, kann dies das reibungslose Systemgefühl verbessern. Es werden weniger Prozesse auf die Festplatte geschrieben, und da der RAM-Zugriff viel schneller ist, kann sich Ihr Computer schneller anfühlen. Sie müssen auch berücksichtigen, dass dies die E / A-Leistung verringern kann. Wenn Sie langsame Festplatten haben oder etwas E / A-intensives tun, kann dies sogar die Leistung beeinträchtigen.
  • Für Placebo: Viele glauben, dass ein geringerer Austausch das System beschleunigen wird. Im Ernst, wenn Sie denken, dass Ihr System schneller ist, kann es auch dazu führen, dass es schneller wahrgenommen wird.

Beachten Sie, dass ein abnehmender Austausch zu Abstürzen und Prozessen führen kann, die vom System zufällig beendet werden, um Speicherplatz freizugeben. Eine Verringerung der Swappiness ist am besten, wenn Sie über genügend RAM verfügen, um Ihr System reibungslos auszuführen. Sie sollten den Wert jedoch über „10“ halten, da eine gute Verwendung des Swaps gut ist.

Zunehmende Swappiness

Eine zunehmende Swappiness kann den allgemeinen Vorteil haben, die E / A zu beschleunigen. Obwohl nicht oft empfohlen, kann eine zunehmende Swappiness nützlich sein, wenn:

  • Sie führen einige E / A-intensive Vorgänge aus und haben langsame, alte Festplatten. Beispiel: Das Durchführen von Sicherungen oder das Bearbeiten von Bildern im Stapel kann E / A-intensiv sein (Eine bemerkenswerte Ausnahme sind Datenbanken, die natürlich E / A-intensiv sind, aber von einem niedrigeren Swappiness-Wert profitieren können, wie oben dargestellt.)
  • Sie haben wenig Speicher, aber relativ schnelle Festplatten. In diesem unwahrscheinlichen Szenario kann ein höherer Swappiness-Wert dazu beitragen, den Speicher effizienter zu verwalten (obwohl eine zu hohe Einstellung die Leistung erneut beeinträchtigen kann).

Wie man mit Swappiness umgeht

Zunächst sollten Sie überlegen, ob Sie diesen Wert überhaupt berühren müssen. Treten Leistungsprobleme auf? Und was noch wichtiger ist: Haben Sie bereits andere Systemverbesserungen ausprobiert? Wenn nicht, ist es wahrscheinlich am besten, zuerst woanders zu suchen. Wenn Sie jedoch ein bestimmtes Szenario im Auge haben, möchten Sie möglicherweise fortfahren.

Wie stark ist Ihre Swap-Nutzung? Sie können dies mit jedem Leistungsüberwachungstool Ihrer Wahl oder mit dem herausfinden free Befehl. free -m Sie erhalten eine Momentaufnahme der Speichernutzung in Megabyte. Für die kontinuierliche Überwachung möchten Sie möglicherweise verwenden watch.

Dies wird die ausführen free -m Befehl jede Sekunde und drucke die Ausgabe, bis du “Strg + C” drückst.

Wie Sie oben sehen, verwendet das System, auf dem dieser Artikel geschrieben ist, nur sehr wenig Swap.

Wenn Sie nun Erfahrung mit dem Tauschen haben, könnte es Sie interessieren, wie viel davon aktiv ist. Der Befehl vmstat Hier erfahren Sie alles, was Sie über die Nutzung des virtuellen Speichers Ihres Systems wissen müssen (Swap und physischer RAM zusammen).

swappiness-vmstat

Sie müssen das überprüfen swap Spalte wo si bedeutet “eintauschen” und so bedeutet “austauschen”. Wenn die Zahlen hoch sind, bedeutet dies viel Austauschaktivität, was ein Indikator für Probleme mit wenig Speicher ist. Wenn Sie die Swap-Nutzung von sehen free aber wenig aktives Tauschen, Optimieren des Austauschs könnte fällig sein.

Es ist auch eine gute Idee, andere Leistungsbenchmarks wie Festplatten-E / A, Lastdurchschnitte usw. festzulegen. Wenn Sie also Ihre neuen Swappiness-Werte testen, haben Sie etwas zu vergleichen.

Um einen anderen Swappiness-Wert zu testen, können Sie ihn vorübergehend mit dem einstellen sysctl Befehl. Dies erfordert keinen Neustart und der Effekt ist sofort. Beim Neustart wird der Standardwert wiederhergestellt, sodass Sie sicher experimentieren können:

Natürlich können Sie anstelle von „10“ (zwischen „0“ und „100“) einen beliebigen Wert eingeben.

Sobald Sie Ihren bevorzugten Wert gefunden haben, können Sie die Systemkonfiguration dauerhaft ändern, indem Sie “/etc/sysctl.conf” bearbeiten.

und Hinzufügen der Zeilen

bis zum Ende dieser Datei, wobei der Wert natürlich wieder auf Ihre Präferenz gesetzt wird.

Fazit

Die Senkung der Swappiness auf „10“ wird häufig als eine Einheitslösung empfohlen, aber die tatsächliche Anwendung der Technik kann ein wenig komplizierter sein. Indem Sie Benchmarks festlegen, Ihr System kennen, wissen, wie Sie es verwenden und was Sie von ihm benötigen, können Sie Ihre Swap-Nutzung optimieren und eine gewisse Leistungssteigerung (entweder Interaktivität oder E / A) erzielen.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x