Heim  >  Artikel  >  System-Tutorial  >  [Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und Pufferoptimierung

[Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und Pufferoptimierung

WBOY
WBOYnach vorne
2024-02-13 12:24:141047Durchsuche

Haben Sie jemals ein Linux-System erlebt, das langsam läuft oder nicht über genügend Speicher verfügt? Dies kann daran liegen, dass der Swap und der Puffer im System nicht richtig konfiguriert sind. Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Swap und Buffer und wie Sie diese optimieren können, um die Leistung Ihres Systems auf die nächste Stufe zu heben.

[Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und Pufferoptimierung

Was ist der Speichermechanismus von Linux?

Wir wissen, dass das Lesen und Schreiben von Daten direkt aus dem physischen Speicher viel schneller ist als das Lesen und Schreiben von Daten von der Festplatte. Daher hoffen wir, dass das gesamte Lesen und Schreiben von Daten im Speicher erfolgt und der Speicher begrenzt ist, was zu den Konzepten führt von physischem und virtuellem Speicher.

Physischer Speicher ist die von der Systemhardware bereitgestellte Speichergröße. Im Vergleich zum physischen Speicher gibt es unter Linux ein Konzept, um den Mangel an physischem Speicher zu beheben Ein durch Speicherplatz virtualisierter Teil des logischen Speichers. Der als virtueller Speicher verwendete Speicherplatz wird als Swap Space bezeichnet.

Als Erweiterung des physischen Speichers verwendet Linux den virtuellen Speicher der Swap-Partition. Genauer gesagt schreibt der Kernel die vorübergehend nicht verwendeten Speicherblockinformationen in den Swap-Bereich Wird dieser Speicher freigegeben, kann er für andere Zwecke verwendet werden. Wenn der ursprüngliche Inhalt benötigt wird, werden die Informationen erneut aus dem Auslagerungsspeicher gelesen.

Die Speicherverwaltung von Linux verwendet einen Paging-Zugriffsmechanismus. Um sicherzustellen, dass der physische Speicher vollständig genutzt werden kann, tauscht der Kernel selten verwendete Datenblöcke im physischen Speicher zu geeigneten Zeiten automatisch aus, während häufig verwendete Datenblöcke automatisch ausgetauscht werden zum richtigen Zeitpunkt in den virtuellen Speicher übertragen. Die Informationen werden im physischen Speicher gespeichert.

Um ein tiefgreifendes Verständnis des Linux-Speicherbetriebsmechanismus zu erlangen, müssen Sie die folgenden Aspekte kennen:

Das Linux-System führt von Zeit zu Zeit Seitenaustauschvorgänge durch, um so viel freien physischen Speicher wie möglich zu erhalten. Auch wenn nichts Speicher benötigt, tauscht Linux vorübergehend ungenutzte Speicherseiten aus. Dies vermeidet die Wartezeit auf den Umtausch.

Der Seitenaustausch in Linux ist an Bedingungen geknüpft, wenn er nicht verwendet wird. Der Linux-Kernel tauscht nur einige selten verwendete Seitendateien in den virtuellen Speicher aus, basierend auf dem „zuletzt verwendeten“ Algorithmus Phänomen: Linux hat immer noch viel physischen Speicher, aber es wird auch viel Swap-Speicherplatz verwendet. Tatsächlich ist dies nicht überraschend. Wenn beispielsweise ein Prozess, der viel Speicher belegt, beim Ausführen viele Speicherressourcen verbrauchen muss, werden einige ungewöhnliche Seitendateien in den virtuellen Speicher ausgelagert, aber später belegt dieser Prozess viel Wenn der Prozess endet und viel Speicher freigegeben wird, wird die gerade ausgelagerte Auslagerungsdatei nicht automatisch in den physischen Speicher ausgelagert, es sei denn, dies ist erforderlich In diesem Moment wird auch der Swap-Bereich genutzt. Das gerade erwähnte Phänomen ist aufgetreten. An diesem Punkt besteht kein Grund zur Sorge, solange Sie wissen, was los ist.

Die Seiten im Auslagerungsbereich werden bei Verwendung zunächst in den physischen Speicher ausgelagert. Wenn zu diesem Zeitpunkt nicht genügend physischer Speicher für die Unterbringung dieser Seiten vorhanden ist, ist möglicherweise nicht genügend Speicherplatz vorhanden Der virtuelle Speicher zum Speichern dieser Seiten führt möglicherweise zu Problemen wie falschen Abstürzen und Dienstanomalien. Obwohl Linux sich innerhalb einer bestimmten Zeitspanne von selbst wiederherstellen kann, ist das wiederhergestellte System grundsätzlich unbrauchbar.

Daher ist es sehr wichtig, die Verwendung von Linux-Speicher richtig zu planen und zu gestalten.

Wenn eine Anwendung im Linux-Betriebssystem Daten aus einer Datei lesen muss, weist das Betriebssystem zunächst etwas Speicher zu, liest die Daten von der Festplatte in diese Speicher und verteilt sie dann an die Anwendung, wenn sie gelesen werden muss Die Daten aus der Datei Beim Schreiben von Daten weist das Betriebssystem zunächst Speicher für den Empfang von Benutzerdaten zu und schreibt die Daten dann vom Speicher auf die Festplatte. Wenn jedoch eine große Datenmenge von der Festplatte in den Speicher gelesen oder vom Speicher auf die Festplatte geschrieben werden muss, wird die Lese- und Schreibleistung des Systems sehr gering, da unabhängig davon, ob Daten von der Festplatte gelesen werden Das Schreiben von Daten auf die Festplatte ist ein sehr langer Prozess, der Zeit und Ressourcen verbraucht. In diesem Fall hat Linux die Puffer und Cache-Mechanismen eingeführt.

Puffer und Cache sind Speicheroperationen, die zum Speichern von Dateien und Dateiattributinformationen verwendet werden, die vom System geöffnet wurden. Wenn das Betriebssystem bestimmte Dateien lesen muss, sucht es zunächst in den Puffern und Cache-Speicherbereichen . Wenn die erforderlichen Daten nicht gefunden werden, werden sie von der Festplatte gelesen. Durch Caching wird die Leistung des Betriebssystems erheblich verbessert. Der Inhalt von Puffern und zwischengespeicherten Puffern ist jedoch unterschiedlich.

Puffer wird zum Puffern von Blockgeräten verwendet. Es zeichnet nur die Metadaten des Dateisystems und der Verfolgung von In-Flight-Seiten auf, während der Cache zum Puffern von Dateien verwendet wird. Einfacher ausgedrückt: Puffer werden hauptsächlich zum Speichern des Inhalts des Verzeichnisses, der Dateiattribute und -berechtigungen usw. verwendet. Der Cache wird direkt verwendet, um sich die von uns geöffneten Dateien und Programme zu merken.

Um zu überprüfen, ob unsere Schlussfolgerung richtig ist, können Sie eine sehr große Datei über vi öffnen, um die Änderungen im Cache zu sehen, und dann die Datei erneut vi öffnen, um die Ähnlichkeiten und Unterschiede in der Geschwindigkeit der beiden Öffnungen zu spüren und festzustellen, ob dies der Fall ist Ist die Geschwindigkeit beim zweiten Öffnen deutlich schneller als beim ersten Mal? Führen Sie dann den folgenden Befehl aus:

find / -name .conf, um zu sehen, ob sich der Wert der Puffer ändert, und führen Sie dann den Befehl „find“ wiederholt aus, um den Unterschied in der Anzeigegeschwindigkeit zwischen den beiden Zeiten zu sehen.

Wann begann Linux mit der Verwendung von virtuellem Speicher (Swap)?

[root@wenwen ~]# cat /proc/sys/vm/swappiness  
60

Die 60 oben bedeutet, dass Swap verwendet wird, wenn 40 % des physischen Speichers belegt sind (siehe Netzwerkinformationen: Wenn der verbleibende physische Speicher weniger als 40 % beträgt (40 = 100-60), beginnt der Swap-Speicherplatz zu leeren verwendet), wenn swappiness=0. Den physischen Speicher maximal nutzen und dann den Swap-Bereich nutzen. Wenn swappiness = 100, bedeutet dies, dass die Swap-Partition aktiv genutzt und die Daten im Speicher rechtzeitig in den Swap-Bereich verschoben werden.

Je größer der Wert, desto wahrscheinlicher ist die Verwendung von Swap. Es kann auf 0 gesetzt werden, was die Verwendung von Swap nicht verbietet, sondern nur die Möglichkeit der Verwendung von Swap minimiert.

Normalerweise wird empfohlen, die Swap-Partition auf das Doppelte des Speichers einzustellen (wenn der Speicher kleiner oder gleich 4G ist, muss die Swap-Partition nur größer als der Speicher sein). Versuchen Sie außerdem, die Swappiness so weit wie möglich zu verringern, damit die Systemleistung besser wird.

B. Ändern Sie den Swapiness-Parameter

#临时性修改:  
[root@wenwen ~]# sysctl vm.swappiness=10  
vm.swappiness = 10  
[root@wenwen ~]# cat /proc/sys/vm/swappiness  
10  
#永久性修改:  
[root@wenwen ~]# vim /etc/sysctl.conf  
加入参数:  
vm.swappiness = 35 
然后在直接:  
[root@wenwen ~]# sysctl -p /etc/sysctl.conf  
#查看是否生效:  
cat /proc/sys/vm/swappiness  
35 

Es ist sofort wirksam und kann auch nach einem Neustart wirksam werden.

Wie kann ich Speicher freigeben?

Allgemeine Systeme geben die Schlüsselkonfigurationsdatei /proc/sys/vm/drop_caches des Speichers nicht automatisch frei. Diese Datei zeichnet die Parameter der Cache-Freigabe auf. Der Standardwert ist 0, was bedeutet, dass der Cache nicht freigegeben wird. Sein Wert kann eine beliebige Zahl zwischen 0 und 3 sein und unterschiedliche Bedeutungen haben:

  • 0 – Keine Veröffentlichung
  • 1 – Geben Sie den Seitencache frei
  • 2 – Dentries und Inodes freigeben
  • 3 – Alle Caches freigeben

Praktische Bedienung:

[Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und Pufferoptimierung

Natürlich gibt es viel freien Speicher

Wie kann ich den Swap freigeben?

Voraussetzung: Stellen Sie zunächst sicher, dass der verbleibende Speicher größer oder gleich der Swap-Nutzung ist, sonst stürzt es ab! Gemäß dem Speichermechanismus werden nach der Freigabe der Swap-Partition alle in der Swap-Partition gespeicherten Dateien in den physischen Speicher übertragen. Das Freigeben von Swap erfolgt normalerweise durch erneutes Mounten der Swap-Partition.

a. Überprüfen Sie, wo die aktuelle Swap-Partition gemountet ist. b. Fahren Sie diese Partition herunter. c. Überprüfen Sie, ob die Swap-Partition heruntergefahren ist. f

[Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und PufferoptimierungDurch die Einleitung dieses Artikels haben Sie bereits die grundlegenden Konzepte und Verwendungen von Swap und Buffer in Linux-Systemen verstanden und erfahren, wie Sie deren Verwendung überprüfen können. Gleichzeitig haben wir einige praktische Optimierungsvorschläge zusammengestellt, die Ihnen helfen, die Systemleistung und Speichernutzung weiter zu verbessern. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt von[Linux-Systemoptimierung] Geben Sie Ihren Speicherplatz frei – Leitfaden zur Swap- und Pufferoptimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen