proc_meminfo(5) | File Formats Manual | proc_meminfo(5) |
BEZEICHNUNG
/proc/meminfo - Speicherverwendung
BESCHREIBUNG
- /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.)
SIEHE AUCH
Ü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.
2. Mai 2024 | Linux man-pages 6.9.1 |