free-Übersicht
Der `free`-Befehl liefert einen Schnappschuss darüber, wie das Betriebssystem den Speicher verwaltet. Dies hilft bei der Beurteilung, ob das System aufgrund von Speichermangel Leistungseinbußen hat oder ob ausreichend freier Speicher vorhanden ist.
Speichertypen verstehen
Um die Ausgabe des `free`-Befehls korrekt zu interpretieren, ist es wichtig, die Konzepte von physischem Speicher (RAM), Swap-Speicher und Puffer/Cache zu verstehen.
Wichtige Speicherposten
- Mem (Physischer Speicher): Die Gesamtmenge des im System installierten RAM. Dies ist der tatsächliche Speicherplatz, der vom Betriebssystem und den laufenden Programmen genutzt wird.
- Swap (Swap-Speicher): Ein Bereich auf der Festplatte, der bei unzureichendem physischem Speicher verwendet wird. Er wird wie RAM genutzt, ist aber wesentlich langsamer.
- total: Gesamtspeicher- oder Swap-Speicherplatz.
- used: Der aktuell genutzte Speicher- oder Swap-Speicherplatz.
- free: Der verfügbare Speicher- oder Swap-Speicherplatz.
- shared: Speicher, der von mehreren Prozessen gemeinsam genutzt wird.
- buff/cache: Speicher, der als Kernel-Puffer und Seiten-Cache verwendet wird. Dies ist kein 'verschwendeter' Speicher, sondern eher 'verfügbarer' Speicher, der bei Bedarf jederzeit Anwendungen zugewiesen werden kann.
- available: Die Menge an Speicher, die neuen Anwendungen auf Anfrage zugewiesen werden kann. Dieser Wert gibt eine genauere 'verfügbare' Speichermenge an als das `free`-Feld. (Verfügbar ab Linux Kernel 3.14)
Wichtige free-Befehlsoptionen
Der `free`-Befehl ermöglicht es, mit verschiedenen Optionen die Ausgabeeinheiten zu ändern oder spezifische Informationen zu filtern und anzuzeigen.
1. Optionen für die Ausgabeeinheit
2. Andere nützliche Optionen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`free` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Überwachen und analysieren Sie die Speicherauslastung des Systems effektiv durch verschiedene Anwendungsbeispiele des `free`-Befehls.
Speicherinformationen in lesbarem Format ausgeben
free -h
Die am häufigsten verwendete Option, die die Speicherinformationen automatisch in MB- oder GB-Einheiten umwandelt, um sie leichter lesbar zu machen.
Speicherinformationen in Megabytes ausgeben
free -m
Wird verwendet, wenn Sie die Speichernutzung explizit in Megabyte (MB) überprüfen möchten.
Speicherinformationen 3 Mal im Abstand von 5 Sekunden aktualisieren
free -h -s 5 -c 3
Nützlich, um Speicheränderungen des Systems in kurzer Zeit zu beobachten. (z.B. Beobachtung der Speichernutzung, während ein bestimmtes Programm ausgeführt wird)
Puffer und Cache getrennt ausgeben (in MB)
free -m -w
Wird verwendet, wenn Sie Puffer- und Cache-Speicher in unabhängigen Spalten sehen möchten. Die Option `-w` wird hauptsächlich beim Debugging oder bei der detaillierten Analyse verwendet.
Speichernutzung zusammen mit Unix-Zeitstempel protokollieren (Skriptbeispiel)
echo "$(date +%s),$(free -m | grep Mem | awk '{print $2,$3,$4,$6,$7}')" >> mem_log.csv
Kann in Shell-Skripten verwendet werden, um die Speichernutzung periodisch zu protokollieren und Zeitreihendaten zu erstellen.