Heim  >  Artikel  >  System-Tutorial  >  Linux-Speicher wird gefressen

Linux-Speicher wird gefressen

PHPz
PHPznach vorne
2024-02-20 10:48:10719Durchsuche

Das ist der Unterschied zwischen Windows und Linux in der Speicherverwaltung. Auf den ersten Blick frisst das Linux-System unseren Speicher (Linux hat meinen RAM gefressen), aber tatsächlich ist dies auch das Merkmal seiner Speicherverwaltung.

Linux-Speicher wird gefressen

kostenlose Befehlseinführung

Das Folgende ist das Ergebnis der Verwendung des kostenlosen Befehls zum Anzeigen des Speichers unseres Labordateiservers. Die Option -m bedeutet die Verwendung von MB als Einheit:

Linux-Speicher wird gefressen

Die zweite Ausgabezeile zeigt die Systemspeichernutzung an:

Speicher: insgesamt = 3920 MB,

verwendet(verwendet) = 1938 MB,

frei (inaktiv) = 1982 MB,

shared (gemeinsamer Speicher) = 0 MB,

Puffer = 497 MB,

zwischengespeichert = 1235 MB

Hinweis: Die ersten vier Elemente sind relativ einfach zu verstehen. Es gibt keine geeigneten Wörter zum Übersetzen von Puffer und Cache. Der Unterschied zwischen ihnen ist:

  • Ein Puffer ist etwas, das noch auf die Festplatte „geschrieben“ werden muss.
  • Ein Cache ist etwas, das von der Festplatte „gelesen“ und zur späteren Verwendung gespeichert wurde.

Das heißt, der Puffer wird zum Speichern von Daten verwendet, die auf die Festplatte ausgegeben werden sollen, während der Cache die Daten sind, die von der Festplatte gelesen und für die zukünftige Verwendung im Speicher gespeichert werden. Sie werden eingeführt, um IO-Leistung bereitzustellen.

Die dritte Ausgabezeile gibt an, was basierend auf der zweiten Zeile erhalten wird –/+ Puffer/Cache:

– verwendete Puffer/Cache = verwendeter Speicher – Puffer – zwischengespeichert = 1938 MB – 497 MB – 1235 MB = 205 MB

+ Puffer/Cache frei = Mem frei + Puffer + zwischengespeichert = 1982 MB + 497 MB + 1235 MB = 3714 MB

Die dritte Ausgabezeile zeigt die Verwendung der Swap-Partition an:

Swap: gesamt = 4095 MB

verwendet(verwendet) = 0 MB

kostenlos (im Leerlauf) = 4095 MB

Da das System derzeit über ausreichend Speicher verfügt, wird die Swap-Partition nicht verwendet.

Die dritte Zeile der obigen Ausgabeergebnisse ist möglicherweise schwieriger zu verstehen. Warum sollte diese Datenzeile dem Benutzer angezeigt werden? Was bedeutet der Speicherverbrauch abzüglich des Systempuffers/zwischengespeicherten Speichers? Erinnerung bedeutet Was bedeutet Erinnerung?

Klassifizierung des Gedächtnisses

Wir unterteilen den Speicher in drei Kategorien mit unterschiedlichen Namen für seine Nutzung aus Sicht der Benutzer und Betriebssysteme:

Etwas in der obigen Tabelle stellt den Speicher von „Puffer/Cache“ im kostenlosen Befehl dar. Da dieser Speicher zwar aus Sicht des Betriebssystems verwendet wird, kann dieser Speicher jedoch schnell wiederverwendet werden, wenn der Benutzer ihn verwenden möchte Der Benutzer verwendet ihn, daher sollte dieser Speicher aus Benutzersicht als ungenutzt eingestuft werden.

Gehen Sie noch einmal zur Ergebnisausgabe des Befehls „free“ zurück. Die in der dritten Zeile ausgegebenen Ergebnisse sollten aus Sicht des Benutzers verständlich sein. Wenn Sie also den Befehl top oder free verwenden, um zu überprüfen, wie viel Speicher noch im System vorhanden ist, sollten Sie den freien Speicher tatsächlich zum Puffer/Cache-Speicher hinzufügen. Das ist der tatsächliche freie Speicher des Systems.

Puffer/zwischengespeicherte Vorteile

Linux-Speicherverwaltung hat viele sorgfältige Designs entwickelt (wird in VFS verwendet, um die Konvertierung von Dateipfadnamen in Inodes zu beschleunigen) und verwendet auch zwei Haupt-Cache-Methoden: Puffer-Cache und Seiten-Cache dient der Verbesserung der Festplatten-IO-Leistung. Von einem langsamen Blockgerät gelesene Daten werden vorübergehend im Speicher gehalten. Auch wenn die Daten zu diesem Zeitpunkt nicht mehr benötigt werden, können sie beim nächsten Zugriff der Anwendung direkt aus dem Speicher gelesen werden, wodurch die langsamen Blockgeräte umgangen werden , wodurch die Gesamtleistung des Systems verbessert wird.

Linux nutzt diesen freien Speicher vollständig aus. Wenn der Speicher frei ist, ist es besser, ihn beim nächsten Zugriff auf die Daten schneller zu verwenden Das Programm möchte Speicher verwenden und es ist nicht genügend Speicher im System vorhanden. Anstatt die Swap-Partition zu verwenden, wird zu diesem Zeitpunkt ein Teil des Caches schnell wiederverwendet und den Benutzerprogrammen zur Verwendung überlassen.

Daher ist ersichtlich, dass Puffer/Cache wirklich nützlich und harmlos sind. Der eigentliche Nachteil kann den Benutzern die Illusion vermitteln, dass Linux Speicher verbraucht

Tatsächlich ist das nicht der Fall. Solange die Swap-Partition nicht verwendet wird und Ihr Speicher knapp wird, sollten Sie sich glücklich schätzen, denn Linux speichert möglicherweise eine große Menge an Daten werde beim nächsten Mal davon profitieren.

Experimenteller Beweis

Die folgenden Experimente werden verwendet, um die obige Schlussfolgerung zu überprüfen:

Wir lesen eine große Datei nacheinander und vergleichen die Praktiken des zweimaligen Lesens:

1. Erzeugen Sie zunächst eine 1G große Datei

Linux-Speicher wird gefressen

2. Cache leeren

Linux-Speicher wird gefressen

3. Lesen Sie diese Datei und testen Sie, wie lange es dauert

Linux-Speicher wird gefressen

4. Lesen Sie die Datei noch einmal und testen Sie die aufgewendete Zeit

Linux-Speicher wird gefressen

Wie oben zu sehen ist, dauert das erste Lesen dieser 1G-Datei etwa 18 Sekunden, beim zweiten Mal dauert es jedoch nur 0,3 Sekunden, was eine 60-fache Verbesserung darstellt

Das obige ist der detaillierte Inhalt vonLinux-Speicher wird gefressen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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