Lösung 1:
Bedeutung der Werte
Die erste Zeile bedeutet:
total
:Ihr gesamter (physischer) RAM (mit Ausnahme eines kleinen Bits, das der Kernel beim Start permanent für sich selbst reserviert); deshalb zeigt es ca. 11,7 GiB und nicht 12 GiB, die Sie wahrscheinlich haben.used
:vom Betriebssystem verwendeter Speicher.free
:Speicher nicht verwendet.
total
=used
+ free
shared
/buffers
/cached
:Dies zeigt die Speichernutzung für bestimmte Zwecke, diese Werte sind im Wert fürused
enthalten .
Die zweite Zeile gibt die angepassten Werte der ersten Zeile an. Es gibt den ursprünglichen Wert für used
minus die Summe buffers+cached
und der ursprüngliche Wert für free
plus die Summe buffers+cached
, daher der Titel. Diese neuen Werte sind oft aussagekräftiger als die der ersten Zeile.
Die letzte Zeile (Swap:
) gibt Auskunft über die Nutzung des Swap Space (d. h. Speicherinhalte, die vorübergehend auf die Festplatte verschoben wurden).
Hintergrund
Um wirklich zu verstehen, was die Zahlen bedeuten, benötigen Sie ein wenig Hintergrundwissen über das Subsystem des virtuellen Speichers (VM) in Linux. Nur eine kurze Version:Linux (wie die meisten modernen Betriebssysteme) wird immer versuchen, freien RAM zum Zwischenspeichern zu verwenden, also Mem: free
wird fast immer sehr niedrig sein. Daher die Zeile -/+ buffers/cache:
wird angezeigt, weil es zeigt, wie viel Speicher frei ist, wenn Caches ignoriert werden; Caches werden automatisch freigegeben, wenn der Speicher knapp wird, also spielen sie keine Rolle.
Ein Linux-System hat wirklich wenig Arbeitsspeicher, wenn free
Wert in -/+ buffers/cache:
Leitung wird niedrig.
Näheres zur Bedeutung der Zahlen siehe z.B. die Fragen:
- Was ist unter Linux der Unterschied zwischen "buffers" und "cache", die vom free-Befehl gemeldet werden?
- Warum meldet Red Hat Linux weniger freien Speicher auf dem System als tatsächlich verfügbar ist?
Änderungen in Props 3.3.10
Beachten Sie, dass die Ausgabe von free
wurde in procps 3.3.10 (veröffentlicht 2014) geändert. Die gemeldeten Spalten sind jetzt "Gesamt", "Verwendet", "Kostenlos", "Geteilt", "Buff/Cache", "Verfügbar" , und die Bedeutung einiger Werte hat sich geändert, hauptsächlich um den Slab-Cache des Linux-Kernels besser zu berücksichtigen.
Siehe Debian-Fehlerbericht Nr. 565518 für die Motivation und Was bedeuten die Änderungen in free
Ausgabe vom 14.04 bis 16.04 bedeuten? für weitere Informationen.
Lösung 2:
Die derzeit akzeptierte Antwort von 2009 ist veraltet. Es ist wichtig sicherzustellen, dass die Informationen, die Sie erhalten, korrekt sind und mit der Version von free
übereinstimmen (verteilt im Debian-Paket procps
oder gleichwertig in Ihrer Distribution). Es ist auch hilfreich, sich die Ausgabe von man free
anzusehen , und auch man 5 proc
, die Informationen über /proc/meminfo
enthält , die Datei, in der free
erhält seine Daten von Linux.
Standardmäßig free
Die Ausgabe von ist in Kibibyte (1 Kibibyte =1024 Bytes), wie Sie in der Handbuchseite sehen können. Ich bevorzuge den -h
Argument, das Suffixe anzeigt, etwa so:
$ free -h
total used free shared buff/cache available
Mem: 15Gi 6.1Gi 1.9Gi 301Mi 7.5Gi 8.8Gi
Swap: 979Mi 0B 979Mi
Die erste Zeile Mem
bedeutet:
total
(Mem):Gesamter installierter Speicher (d. h.MemTotal
ab/proc/meminfo
), das ist der ganze Speicher im RAMused
(Mem):verwendeter Speicher, gleichtotal - free - buffers - cache
free
(Mem):ungenutzter Speicher (das istMemFree
), das ist der gesamte Speicher, der für irgendetwas (sogar Caches) im RAM ungenutzt istshared
(Mem):Dies ist die Menge an Speicher, die hauptsächlich fürtmpfs
verwendet wird (Shmem
)buff/cache
(Mem), Summe vonbuffers
undcache
:buffers
:Speicher, der von Kernelpuffern verwendet wird (Buffers
), das ist Speicher, den der Kernel nutzen kanncache
:Speicher, der vom Seitencache und Slabs verwendet wird (Cached
undSReclaimable
). Der Seiten-Cache enthält den Inhalt von Dateien im Dateisystem, die im RAM zwischengespeichert sind, und es ist im Allgemeinen gut, wenn dies eine hohe Zahl ist. Ich nehme an, "Slabs" sind eine ähnliche Caching-Funktion.
available
(Mem):Dies ist eine Schätzung, wie viel Speicher zum Starten neuer Anwendungen ohne Austausch verfügbar ist. Es enthält den größten Teil des Speichers, der incache
gezählt wird (da der Seiten-Cache gelöscht werden kann, um neue Anwendungen zu starten), aber Swap wird nicht gezählt (da es im Allgemeinen vorzuziehen ist, keinen langsamen Swap-Speicher zu verwenden).
Die zweite Zeile ist Swap
. Dies ist meine Erklärung:
total
(Swap):Dies ist die Gesamtmenge an Speicherplatz, die für den Austausch reserviert ist (SwapTotal
inproc/meminfo
). Sie können überprüfen, ob dies mit der Ausgabe vonswapon -s
übereinstimmt .used
(Swap):Die Menge an Swap-Speicherplatz, die derzeit verwendet wird. Auch dies können Sie überprüfen, indem Sie es mit der Ausgabe vonswapon -s
vergleichenfree
(Swap):die Menge an Swap-Speicherplatz, die derzeit nicht verwendet wird (SwapFree
in/proc/meminfo
). Es ist gleichtotal (Swap) - used (Swap)