/proc/meminfo - Speicherverwendung
- /proc/meminfo
- Diese Datei berichtet Statistiken über die Speicherverwendung auf
dem System. Sie wird von free(1) benutzt, um den freien und
benutzen (sowohl physischen als auch Auslagerungs-)Speicher auf dem System
zu berichten, sowie den gemeinsam benutzten Speicher und die vom Kernel
benutzten Puffer. Jede Zeile der Datei besteht aus einem Parameternamen,
gefolgt von einem Doppelpunkt, dem Wert des Parameters und einer
Maßeinheit der Option (z.B. »kB«). Die nachfolgende
Liste beschreibt die Parameternamen und die Formatkennzeichner, die zum
Lesen des Feldwertes benötigt wird. Außer falls unten
angegeben sind alle Felder seit mindestens Linux 2.6.0 vorhanden. Einige
Felder werden nur angezeigt, falls der Kernel mit bestimmten Optionen
konfiguriert wurde, diese Abhängigkeiten sind in der Liste
vermerkt.
- MemTotal
%lu
- Gesamter verwendbarer Arbeitsspeicher (d.h. physischer Arbeitsspeicher
abzüglich ein paar reservierter Bits und dem Binärcode des
Kernels).
- MemFree
%lu
- Die Summe von LowFree+HighFree.
- MemAvailable
%lu (seit Linux 3.14)
- Eine Abschätzung, wieviel Speicher zum Starten neuer Anwendungen
verfügbar ist, ohne auszulagern.
- Buffers
%lu
- Relativ temporärer Speicher für rohe Plattenblöcke,
der nicht besonders groß werden sollte (20 MB oder so).
- Cached %lu
- Speicherinterner Zwischenspeicher für von Platte gelesene Dateien
(der Seiten-Zwischenspeicher). Enthält SwapCached
nicht.
- SwapCached
%lu
- Speicher, der schon ausgelagert war, und wieder hereingelagert wurde, aber
noch in der Auslagerungsdatei ist. (Falls der Speicherdruck hoch ist,
müssen diese Seiten nicht wieder ausgelagert werden, da sie bereits
in der Auslagerungsdatei sind. Dies spart E/A).
- Active %lu
- Speicher, der kürzlich verwandt wurde und normalerweise noch nicht
zurückgefordert wurde, falls nicht absolut notwendig.
- Inactive
%lu
- Speicher, der nicht kürzlich verwandt wurde. Er ist für
Rückforderungen für andere Zwecke geeigneter.
- Active(anon)
%lu (seit Linux 2.6.28)
- [Muss noch dokumentiert werden.]
- Inactive(anon)
%lu (seit Linux 2.6.28)
- [Muss noch dokumentiert werden.]
- Active(file)
%lu (seit Linux 2.6.28)
- [Muss noch dokumentiert werden.]
- Inactive(file)
%lu (seit Linux 2.6.28)
- [Muss noch dokumentiert werden.]
- Unevictable
%lu (seit Linux 2.6.28)
- (Von Linux 2.6.28 bis 2.6.30: CONFIG_UNEVICTABLE_LRU war
notwendig.) [Muss noch dokumentiert werden.]
- Mlocked %lu (seit
Linux 2.6.28)
- (Von Linux 2.6.28 bis 2.6.30: CONFIG_UNEVICTABLE_LRU war
notwendig.) [Muss noch dokumentiert werden.]
- HighTotal
%lu
- (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt).
Gesamtmenge von Highmem. Highmem ist aller Speicher oberhalb ~860 MB
physischen Speichers. Highmem-Bereiche können von
Anwendungsprogrammen oder für den Seiten-Zwischenspeicher verwandt
werden. Der Kernel muss Tricks zum Zugriff auf diesen Speicher verwenden,
wodurch der Zugriff langsamer als bei Lowmem ist.
- HighFree
%lu
- (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
Menge des freien Highmems.
- LowTotal
%lu
- (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
Gesamtmenge an Lowmem. Lowmem ist Speicher, der für alles verwandt
werden kann, wofür Highmem verwandt werden kann, er ist aber auch
für die Verwendung durch den Kernel für seine eigenen
Datenstrukturen verfügbar. Unter anderem wird hier heraus
Slab zugewiesen. Schlimme Dinge passieren, falls kein Lowmem mehr
verfügbar ist.
- LowFree
%lu
- (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt)
Menge des freien Lowmems.
- MmapCopy %lu
(seit Linux 2.6.29)
- (CONFIG_MMU ist notwendig.) [Muss noch dokumentiert werden.]
- SwapTotal
%lu
- Gesamtmenge des verfügbaren Auslagerungsbereichs.
- SwapFree
%lu
- Größe des derzeit ungenutzten Auslagerungsbereichs.
- Dirty %lu
- Speicher, der darauf wartet, zurück auf Platte geschrieben zu
werden.
- Writeback
%lu
- Speicher, der aktiv zurück auf Platte geschrieben wird.
- AnonPages %lu
(seit Linux 2.6.18)
- Nicht-Datei basierende Seiten, die in Seitentabellen des Anwendungsraums
gemappt sind.
- Mapped %lu
- Dateien, die in den Speicher (mit mmap(2)) gemappt wurden, wie
Bibliotheken.
- Shmem %lu (seit Linux
2.6.32)
- Speichermenge, die vom tmpfs(5) belegt wird.
- KReclaimable
%lu (seit Linux 4.20)
- Kernelzuweisungen, die der Kernel versuchen wird, im Falle von
Speicherknappheit zurückzuverlangen. Schließt
SReclaimable (siehe nachfolgend) und andere direkte Zuweisungen mit
einem Verkleinerer ein.
- Slab %lu
- Zwischenspeicher für In-Kernel-Datenstrukturen. (siehe
slabinfo(5))
- SReclaimable
%lu (seit Linux 2.6.19)
- Teil von Slab, der zurückgewonnen werden könnte, wie
Zwischenspeicher.
- SUnreclaim
%lu (seit Linux 2.6.19)
- Teil von Slab, der bei Speicherknappheit nicht
zurückgewonnen werden kann.
- KernelStack
%lu (seit Linux 2.6.32)
- Teil des Speichers, der Kernel-Stacks zugewiesen wurde.
- PageTables
%lu (seit Linux 2.6.18)
- Menge des Speichers, der der niedrigsten Stufe der Seitentabellen
zugeordnet ist.
- Quicklists
%lu (seit Linux 2.6.27)
- (CONFIG_QUICKLIST ist notwendig.) [Muss noch dokumentiert
werden.]
- NFS_Unstable
%lu (seit Linux 2.6.18)
- NFS-Seiten, die an den Server gesandt, aber noch nicht dem dauerhaften
Speicher übergeben wurden.
- Bounce %lu (seit
Linux 2.6.18)
- Speicher, der für Blockgerät-»bounce buffer«
verwendet wird.
- WritebackTmp
%lu (seit Linux 2.6.26)
- Speicher, das von FUSE für temporäre
Rückschreibe-Puffer verwandt wird.
- CommitLimit
%lu (seit Linux 2.6.10)
- Dies ist der Gesamtbetrag des Speichers, der derzeit zum Reservieren auf
dem System verfügbar ist, ausgedrückt in Kilobyte. Diese
Beschränkung wird nur eingehalten, falls strikte
Überbuchungs-Buchführung aktiviert ist (Modus 2 in
/proc/sys/vm/overcommit_memory). Die Beschränkung wird
gemäß der unter /proc/sys/vm/overcommit_memory
beschriebenen Formel berechnet. Weitere Einzelheiten finden Sie in der
Kernelquelltextdatei
Documentation/vm/overcommit-accounting.rst.
- Committed_AS
%lu
- Die derzeit im System belegte Speichermenge. Der gebuchte Speicher ist die
Summe des Speichers, der vom Prozess belegt wird, selbst wenn der noch
nicht durch ihn »verwandt« wurde. Ein Prozess, der 1 GB
Speicher (mittels malloc(3) oder ähnlichem) reserviert, aber
nur 300 MB davon anrührt, wird mit 300 MB an benutztem Speicher
angezeigt, selbst wenn er einen Adressraum für das gesamte 1 GB
reserviert hat.
- Dieses ein GB ist Speicher, der durch die VM »gebucht« ist
und jederzeit durch die reservierende Anwendung verwendet werden kann. Ist
striktes Überbuchen auf dem System aktiviert (Modus 2 in
/proc/sys/vm/overcommit_memory), werden Speicherreservierungen, die
das CommitLimit überschreiten würden, nicht
gestattet. Dies ist nützlich, falls gewährleisten werden
soll, dass Prozesse aufgrund von Speichermangel nicht fehlschlagen,
nachdem dieser Speicher erfolgreich reserviert wurde.
- VmallocTotal
%lu
- Gesamtgröße des Vmalloc-Speicherbereichs.
- VmallocUsed
%lu
- Größe des benutzten Vmalloc-Bereichs. Seit Linux 4.4 wird
dieses Feld nicht mehr berechnet und ist auf 0 hartkodiert. Siehe
/proc/vmallocinfo.
- VmallocChunk
%lu
- Größter zusammenhängender freier
Vmalloc-Bereichsblock. Seit Linux 4.4 wird dieses Feld nicht mehr
berechnet und ist auf 0 hartkodiert. Siehe /proc/vmallocinfo.
- HardwareCorrupted
%lu (seit Linux 2.6.32)
- (CONFIG_MEMORY_FAILURE ist notwendig.) [Muss noch dokumentiert
werden.]
- LazyFree %lu
(seit Linux 4.12)
- Zeigt die Menge des durch madvise(2) als MADV_FREE
markierten Speichers.
- AnonHugePages
%lu (seit Linux 2.6.38)
- (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt) Nicht-Datei
basierte große Speicherseiten, die in die Seitentabellen im
Anwendungsraum gemappt sind.
- ShmemHugePages
%lu (seit Linux 4.8)
- (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt.) Von gemeinsam
benutztem Speicher (shem) benutzter Speicher und mit großen
Speicherseiten reserviertes tmpfs(5).
- ShmemPmdMapped
%lu (seit Linux 4.8)
- (CONFIG_TRANSPARENT_HUGEPAGE wird benötigt.) Gemeinsamer, in
den Anwendungsraum mit großen Seiten gemappter Speicher.
- CmaTotal %lu
(seit Linux 3.1)
- Gesamte CMA- (Contiguous Memory Allocator) Seiten. (CONFIG_CMA wird
benötigt.)
- CmaFree %lu (seit
Linux 3.1)
- Freie CMA- (Contiguous Memory Allocator) Seiten. (CONFIG_CMA wird
benötigt.)
- HugePages_Total
%lu
- (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe
des Vorrats der großen Speicherseiten.
- HugePages_Free
%lu
- (CONFIG_HUGETLB_PAGE wird benötigt.) Die Anzahl der
großen Speicherseiten in dem Vorrat, die noch nicht reserviert
worden sind.
- HugePages_Rsvd
%lu (seit Linux 2.6.17)
- (CONFIG_HUGETLB_PAGE wird benötigt.) Dies ist die Anzahl der
großen Speicherseiten, für die eine Verpflichtung zur
Reservierung aus dem Vorrat erfolgte, aber noch keine Reservierung
durchgeführt wurde. Die reservierten großen Speicherseiten
garantieren, dass die Anwendung in der Lage sein wird, große
Speicherseiten aus dem Vorrat von großen Speicherseiten zum
Zeitpunkt der Ausnahmebehandlung zu reservieren.
- HugePages_Surp
%lu (seit Linux 2.6.24)
- (CONFIG_HUGETLB_PAGE wird benötigt.) Dies ist die Anzahl an
großen Speicherseiten in dem Vorrat oberhalb des Wertes in
/proc/sys/vm/nr_hugepages. Die maximale Anzahl an
zusätzlichen großen Speicherseiten wird durch
/proc/sys/vm/nr_overcommit_hugepages gesteuert.
- Hugepagesize
%lu
- (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe
der großen Speicherseiten.
- DirectMap4k
%lu (seit Linux 2.6.27)
- Anzahl von Bytes von RAM (in 4 kB-Seiten), der durch den Kernel linear
gemappt ist. (x86)
- DirectMap4M
%lu (seit Linux 2.6.27)
- Anzahl an Bytes von RAM (in 4 MB-Seiten), der durch den Kernel linear
gemappt ist. (x86 mit aktiviertem CONFIG_X86_64 oder
CONFIG_X86_PAE)
- DirectMap2M
%lu (seit Linux 2.6.27)
- Anzahl an Bytes von RAM (in 2 MB-Seiten), der durch den Kernel linear
gemappt ist. (x86 mit aktiviertem CONFIG_X86_64 oder
CONFIG_X86_PAE)
- DirectMap1G
%lu (seit Linux 2.6.27)
- (x86 mit CONFIG_X86_64 und CONFIG_X86_DIRECT_GBPAGES
aktiviert.)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias
Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>,
Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die Mailingliste der
Übersetzer:
debian-l10n-german@lists.debian.org.