Heim  >  Artikel  >  System-Tutorial  >  Linux-Speicherüberwachung: Verstehen Sie den Systembetriebsstatus in Echtzeit

Linux-Speicherüberwachung: Verstehen Sie den Systembetriebsstatus in Echtzeit

王林
王林nach vorne
2024-02-09 20:33:20457Durchsuche

Im heutigen Zeitalter der schnellen Informationsentwicklung hat die Stabilität von Serversystemen immer mehr Aufmerksamkeit auf sich gezogen. Als wichtiger Bestandteil des Servers stellt der Arbeitsspeicher häufig einen Engpass für Systemleistungsprobleme dar. In diesem Fall spielt die Echtzeitüberwachung der Speichernutzung eine entscheidende Rolle bei der Gewährleistung der Systemstabilität und -leistung. In diesem Artikel wird erläutert, wie Sie die Speichernutzung in Linux-Systemen überwachen und einige praktische Befehle verwenden, um den Betriebsstatus des Systems in Echtzeit zu verstehen.

Ich werde die Demonstration auf einer Ubuntu 18.04-Serverplattform[1] durchführen, aber Sie sollten alle Befehle in der Distribution Ihrer Wahl finden. Noch besser: Sie müssen nichts installieren (da die meisten dieser Tools in Linux-Systemen enthalten sind).

Nachdem das gesagt ist, machen wir uns an die Arbeit.

top

Ich möchte mit den am häufigsten verwendeten Tools beginnen. Der Befehl top bietet eine dynamische Echtzeitansicht des laufenden Systems und überprüft die Speichernutzung jedes Prozesses. Dies ist wichtig, da Sie leicht erkennen können, dass mehrere Beispiele desselben Befehls unterschiedlich viel Speicher verbrauchen. Während Sie dies auf einem Server ohne Monitor nicht sehen können, haben Sie festgestellt, dass das Öffnen von Chrome Ihr System verlangsamt. Führen Sie den oberen Befehl aus, um zu sehen, dass in Chrome mehrere Prozesse ausgeführt werden (einer für jede Registerkarte – Abbildung 1).

Linux 内存监控:实时掌握系统运行状态

Abbildung 1: Im oberen Befehl werden mehrere Chrome-Prozesse angezeigt.

Chrome ist nicht die einzige App, die mehrere Prozesse anzeigt. Sehen Sie Firefox in Abbildung 1? Das ist der Hauptprozess von Firefox, und der Webinhaltsprozess besteht aus den geöffneten Tabs. Oben in der Ausgabe sehen Sie Systemstatistiken. Auf meiner Maschine (System76 Leopard Extreme[2]) stehen mir insgesamt 16 GB RAM zur Verfügung, wovon knapp über 10 GB genutzt werden. Anschließend können Sie die Liste durchsuchen, um zu sehen, wie viel Prozent des Speichers jeder Prozess verwendet.

Eines der besten Dinge an top ist das Ermitteln der Prozess-ID-Nummer (PID) eines Dienstes, der möglicherweise außer Kontrolle geraten ist. Mit diesen PIDs können Sie problematische Aufgaben beheben (oder beenden).

Wenn Sie möchten, dass top benutzerfreundlichere Speicherinformationen anzeigt, verwenden Sie den Befehl top -o %MEM, der dazu führt, dass top alle Prozesse nach dem vom Prozess verwendeten Speicher sortiert (Abbildung 2).

Linux 内存监控:实时掌握系统运行状态

Abbildung 2: Sortieren von Prozessen nach Speichernutzung im Top-Befehl

Mit dem Befehl

top erhalten Sie außerdem Echtzeit-Updates darüber, wie viel Swap-Speicherplatz verwendet wird.

kostenlos

Aber manchmal entspricht der oberste Befehl möglicherweise nicht Ihren Anforderungen. Vielleicht möchten Sie sich einfach nur den freien und belegten Speicher Ihres Systems ansehen. Dafür gibt es unter Linux auch den Free-Befehl. Der kostenlose Befehl zeigt Folgendes an:

  • Gesamtmenge des verfügbaren und genutzten physischen Speichers
  • Gesamtmenge des Swap-Speichers im System
  • Vom Kernel verwendete Puffer und Caches

Geben Sie im Terminalfenster den Befehl free ein. Die Ausgabe erfolgt nicht in Echtzeit, sondern Sie erhalten sofort eine Momentaufnahme des aktuell freien und belegten Speichers (Abbildung 3).

Linux 内存监控:实时掌握系统运行状态

Abbildung 3: Die Ausgabe des kostenlosen Befehls ist einfach und klar.

Natürlich können Sie Free freundlicher erscheinen lassen, indem Sie die Option -m hinzufügen, etwa so: free -m. Dadurch wird die Speichernutzung in MB angezeigt (Abbildung 4).

Linux 内存监控:实时掌握系统运行状态

Abbildung 4: Die kostenlose Befehlsausgabe in besser lesbarer Form.

Wenn Ihr System noch sehr neu ist, sollten Sie natürlich die Option -g (in GB) verwenden, beispielsweise free -g.

Wenn Sie den Gesamtspeicher kennen müssen, können Sie die Option -t hinzufügen, z. B.: free -mt. Dadurch wird einfach die Gesamtspeichermenge in jeder Spalte berechnet (Abbildung 5).

Linux 内存监控:实时掌握系统运行状态

Abbildung 5: Bietet Ihnen freie Speicherspalten.

vmstat

Ein weiteres sehr praktisches Tool ist vmstat. Dieser spezielle Befehl ist ein kleiner Trick zum Melden von Statistiken zum virtuellen Speicher. Der Befehl vmstat meldet Folgendes:

  • Prozess
  • Erinnerung
  • Paginierung
  • Blockieren von IO
  • Unterbrechen
  • Festplatte
  • CPU

Der beste Weg, vmstat zu verwenden, ist die Verwendung der Option -s, wie vmstat -s. Dadurch werden die Statistiken in einer einzigen Spalte angezeigt (die einfacher zu lesen ist als der Standardbericht). Der Befehl vmstat stellt mehr Informationen bereit, als Sie benötigen (Abbildung 6), aber mehr ist immer besser (in diesem Fall).

Linux 内存监控:实时掌握系统运行状态

Abbildung 6: Verwenden Sie den Befehl vmstat, um die Speichernutzung zu überprüfen.

dmidecode

Was ist, wenn Sie detaillierte Informationen zum installierten Systemspeicher finden möchten? Dazu können Sie den Befehl dmidecode verwenden. Bei diesem speziellen Tool handelt es sich um einen DMI-Tabellendecoder, der den Inhalt der DMI-Tabellen Ihres Systems in ein für Menschen lesbares Format umwandelt. Wenn Sie nicht sicher sind, was eine DMI-Tabelle ist, kann sie zur Beschreibung des Aufbaus eines Systems (und seiner Entwicklung) verwendet werden.

Um den dmidecode-Befehl auszuführen, benötigen Sie Sudo-Berechtigungen. Geben Sie also den Befehl sudo dmidecode -t 17 ein. Die Ausgabe dieses Befehls (Abbildung 7) kann recht lang sein, da sie Informationen für alle Speichergeräte anzeigt. Wenn Sie also nicht nach oben und unten scrollen können, müssen Sie die Ausgabe dieses Befehls möglicherweise an eine Datei senden, z. B.: sudo dmidecode -t 17> dmi_infoI, oder sie an einen weniger Befehl übergeben, z. B. sudo dmidecode |.

Linux 内存监控:实时掌握系统运行状态

Abbildung 7: Ausgabe des dmidecode-Befehls.

/proc/meminfo

Sie fragen sich vielleicht: „Woher beziehen diese Befehle diese Informationen?“ In einigen Fällen beziehen sie sie aus der Datei /proc/meminfo. Hast du es erraten? Sie können diese Datei direkt mit dem Befehl less /proc/meminfo lesen. Mit dem Befehl „less“ können Sie durch die lange Ausgabe nach oben und unten scrollen, um genau das zu finden, was Sie benötigen (Abbildung 8).

Linux 内存监控:实时掌握系统运行状态

Abbildung 8: Ausgabe des Befehls less /proc/meminfo.

Was Sie über /proc/meminfo wissen sollten: Dies ist keine echte Datei. Im Gegensatz dazu ist /proc/meminfo eine virtuelle Datei, die dynamische Echtzeitinformationen über das System enthält. Insbesondere müssen Sie die folgenden Werte überprüfen:

  • Gesamter Speicher (MemTotal)
  • Freier Speicher (MemFree)
  • Verfügbarer Speicher (MemAvailable)
  • Puffer
  • Dateicache (im Cache)
  • SwapCached
  • Alle Tauschbereiche (SwapTotal)
  • Kostenloser Swap-Bereich (SwapFree)

Wenn Sie /proc/meminfo verwenden möchten, können Sie den Befehl egrep verwenden, um ihn zu verwenden: egrep –color’Mem |. Dadurch wird eine leicht lesbare Liste erstellt, in der Einträge für Dinge wie Mem, Cache und Swap farbig dargestellt werden (Abbildung 9).

Linux 内存监控:实时掌握系统运行状态

Abbildung 9: /proc/meminfo leichter lesbar machen.

Ob es sich um einen Personalcomputer oder ein Serversystem handelt, die Nutzung des Speichers ist unerlässlich und erfordert bei der Nutzung Aufmerksamkeit. In diesem Artikel werden einige praktische Befehle zum Überwachen und Verwalten des Speichers in Linux-Systemen vorgestellt, mit denen wir den Betriebsstatus des Systems in Echtzeit erfassen und Systemausfälle oder andere Ausfälle aufgrund von Speicherproblemen effektiv vermeiden können. Lassen Sie uns diese Befehle gründlich verstehen und beherrschen, um die Sicherheit und Leistung des Geräts zu gewährleisten.

Das obige ist der detaillierte Inhalt vonLinux-Speicherüberwachung: Verstehen Sie den Systembetriebsstatus in Echtzeit. 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