Linux free Befehl: Systemarbeitsspeicher überwachen

LinuxBeginner
Jetzt üben

Einführung

Willkommen zum Lab über den Linux free Befehl. In diesem Lab lernen Sie, wie Sie mit dem free Befehl die Speicherauslastung Ihres Systems überwachen und analysieren können. Diese Fähigkeit ist für Systemadministratoren und Entwickler gleichermaßen wichtig, um die Systemleistung zu optimieren und speicherbezogene Probleme zu beheben.

Stellen Sie sich vor, Sie sind ein Junior-Systemadministrator und haben die Aufgabe, die Speicherauslastung eines stark frequentierten Webservers zu überwachen. Der free Befehl wird dabei Ihr wichtigstes Werkzeug sein. Er ermöglicht es Ihnen, den aktuellen Speicherstatus schnell zu bewerten und potenzielle Engpässe zu identifizieren, bevor sie die Systemleistung beeinträchtigen.

Grundlegende Verwendung des free Befehls

Beginnen wir mit der einfachsten Form des free Befehls. Dies gibt uns einen ersten Überblick über die Speicherauslastung des Systems.

Öffnen Sie zunächst ein Terminal, falls noch nicht geschehen. Führen Sie dann den folgenden Befehl aus:

free

Sie sollten eine Ausgabe sehen, die in etwa so aussieht:

              total        used        free      shared  buff/cache   available
Mem:        8167004     2524956     3300280      658636     2341768     4657560
Swap:       2097152           0     2097152

Diese Ausgabe liefert eine Momentaufnahme des Speichers. Hier ist die Bedeutung der einzelnen Spalten:

  • total: Die Gesamtmenge des physischen RAMs und des Swap-Speichers.
  • used: Die Menge des aktuell verwendeten RAMs.
  • free: Die Menge des RAMs, der komplett ungenutzt ist.
  • shared: Die Menge des RAMs, der von tmpfs verwendet wird.
  • buff/cache: Die Menge des RAMs, der für Puffer und Cache reserviert ist.
  • available: Eine Schätzung, wie viel Speicher für das Starten neuer Anwendungen verfügbar ist.

Die Ausgabe ist in zwei Zeilen unterteilt:

  • Mem: Zeigt Informationen über den physischen Arbeitsspeicher (RAM).
  • Swap: Zeigt Informationen über den Auslagerungsspeicher (virtueller Speicher auf der Festplatte).

Standardmäßig werden alle Werte in Bytes angezeigt.

Speicherinformationen in lesbarem Format anzeigen

Obwohl die Standardausgabe von free sehr präzise ist, kann sie auf den ersten Blick schwer zu interpretieren sein. Verwenden wir die Option -h, um die Informationen in einem für Menschen besser lesbaren Format anzuzeigen.

Führen Sie diesen Befehl aus:

free -h

Die Ausgabe sollte nun so ähnlich aussehen:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

Die Option -h (steht für „human-readable“) skaliert die Zahlen automatisch und fügt entsprechende Einheiten hinzu (G für Gigabyte, M für Megabyte usw.). Dies erleichtert es erheblich, die Speicherauslastung des Systems auf einen Blick zu erfassen.

Beachten Sie, dass die Werte nun mit Einheiten wie Gi (Gibibyte) und Mi (Mebibyte) angezeigt werden. Dies sind binäre Einheiten (1 Gi = 1024 Mi), was dem Standard entspricht, wie Computer Speicher messen.

Speicherinformationen in Megabyte anzeigen

Manchmal ist es sinnvoll, die Speicherinformationen in einer ganz bestimmten Einheit zu sehen. Mit der Option -m können wir die Werte in Megabyte erzwingen.

Führen Sie den folgenden Befehl aus:

free -m

Ihre Ausgabe wird etwa so aussehen:

              total        used        free      shared  buff/cache   available
Mem:           7975        2466        3222         642        2286        4548
Swap:          2047           0        2047

Die Option -m weist free an, alle Werte in Megabyte darzustellen. Das ist nützlich, wenn Sie mehr Präzision benötigen als bei der -h Option, aber dennoch mit handlichen Zahlen arbeiten möchten.

Hinweis: Technisch gesehen handelt es sich um Mebibyte (MiB), wobei 1 MiB = 1.048.576 Bytes entspricht, und nicht um Megabyte (MB), bei denen 1 MB = 1.000.000 Bytes wären. In der Praxis ist der Unterschied oft vernachlässigbar, sodass die Begriffe häufig synonym verwendet werden.

Kontinuierliche Überwachung mit dem free Befehl

In der Praxis müssen Sie die Speicherauslastung oft über einen längeren Zeitraum beobachten. Der free Befehl ermöglicht dies mit der Option -s (seconds), die die Anzeige in regelmäßigen Abständen aktualisiert.

Überwachen wir die Speicherauslastung alle 3 Sekunden für insgesamt 5 Aktualisierungen:

free -h -s 3 -c 5

Dieser Befehl kombiniert mehrere Optionen:

  • -h: Anzeige im lesbaren Format.
  • -s 3: Aktualisierung alle 3 Sekunden.
  • -c 5: Beenden nach 5 Aktualisierungen.

Sie sehen nun eine Ausgabe, die sich alle 3 Sekunden aktualisiert:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

...

Diese kontinuierliche Überwachung hilft Ihnen dabei, Veränderungen im Zeitverlauf zu beobachten. Dies ist besonders wertvoll, um Speicherlecks (Memory Leaks) aufzuspüren oder die Auslastungsmuster bestimmter Anwendungen zu verstehen.

Drücken Sie Ctrl+C, falls Sie den Befehl vorzeitig abbrechen möchten.

Gesamtspeicherauslastung anzeigen

Standardmäßig trennt der free Befehl den physischen Speicher vom Swap-Speicher. Manchmal möchte man jedoch die Gesamtsumme des verfügbaren Speichers sehen. Hierfür nutzen wir die Option -t.

Führen Sie diesen Befehl aus:

free -h -t

Die Ausgabe sollte wie folgt aussehen:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi
Total:        9.8Gi       2.4Gi       5.1Gi

Die Option -t fügt am Ende eine „Total“-Zeile hinzu, welche die Werte von RAM und Swap addiert. Dies gibt Ihnen einen schnellen Überblick über die gesamte Kapazität und Auslastung Ihres Systems.

In dieser Ansicht:

  • Die Zeile Mem: zeigt die Nutzung des physischen RAMs.
  • Die Zeile Swap: zeigt die Nutzung des Auslagerungsspeichers.
  • Die Zeile Total: zeigt die Summe aus beidem.

Diese Gesamtansicht ist besonders nützlich, um die absolute Kapazitätsgrenze des Systems zu beurteilen.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Lab zur Überwachung des Systemarbeitsspeichers mit dem free Befehl erfolgreich abgeschlossen. Hier ist eine kurze Zusammenfassung dessen, was Sie gelernt haben:

  1. Grundlegende Anwendung des free Befehls zur Anzeige von Speicherinformationen.
  2. Verwendung der Option -h für eine lesbare Darstellung mit Einheiten.
  3. Verwendung der Option -m zur Anzeige der Werte in Megabyte.
  4. Kontinuierliche Überwachung der Speicherauslastung mit den Optionen -s und -c.
  5. Anzeige der Gesamtspeicherkapazität inklusive Swap mit der Option -t.

Diese Kenntnisse sind von unschätzbarem Wert für die Verwaltung von Systemressourcen, insbesondere wenn es darum geht, die Performance zu optimieren oder Fehler im Speichermanagement zu finden.

Hier sind einige weitere Optionen des free Befehls, die wir in diesem Lab nicht behandelt haben:

  • -b: Anzeige in Bytes.
  • -k: Anzeige in Kilobytes.
  • -g: Anzeige in Gigabytes.
  • -w: Breites Ausgabeformat (trennt Puffer und Cache in eigene Spalten).
  • -s: Aktualisiert die Anzeige alle [SEK] Sekunden.
  • --si: Verwendet Zehnerpotenzen (1000) anstelle von Zweierpotenzen (1024).

Denken Sie daran: Ein effektives Speichermanagement ist entscheidend für die Stabilität Ihres Systems. Regelmäßiges Monitoring hilft Ihnen, Probleme zu erkennen, bevor sie kritisch werden.