Forståelse af /proc/meminfo: Udover MemTotal og MemFree - En Dybtgående Guide

Hvad betyder de forskellige poster i /proc/meminfo ud over MemTotal og MemFree?

Forståelse af /proc/meminfo poster udover MemTotal og MemFree viser, at filen indeholder detaljeret information om systemets hukommelsesforbrug, herunder kernel buffers, filsystem cache, swap plads og mere, hvilket er nyttigt til fejlfinding og optimering.

Forståelse af /proc/meminfo Poster Udover MemTotal og MemFree

/proc/meminfo er en virtuel fil i Linux, der indeholder information om systemets hukommelsesforbrug. Udover MemTotal og MemFree, som viser den totale mængde hukommelse og den frie hukommelse, er der mange andre poster, der giver detaljeret indsigt i hukommelsesanvendelsen. Her er en liste over nogle af de vigtigste poster:

  • Buffers: Hukommelse brugt af kernel buffers.
  • Cached: Hukommelse brugt til filsystem cache.
  • SwapCached: Hukommelse, der tidligere var på swap og nu er tilbage i RAM, men stadig er markeret som swap.
  • Active: Hukommelse, der er aktivt brugt eller for nylig brugt og derfor sandsynligvis vil blive brugt igen.
  • Inactive: Hukommelse, der ikke er aktivt brugt.
  • Active(anon): Anonym hukommelse, der er aktivt brugt.
  • Inactive(anon): Anonym hukommelse, der ikke er aktivt brugt.
  • Active(file): Filsystem cache, der er aktivt brugt.
  • Inactive(file): Filsystem cache, der ikke er aktivt brugt.
  • Unevictable: Hukommelse, der ikke kan flyttes til swap.
  • Mlocked: Hukommelse, der er låst i RAM og ikke kan flyttes til swap.
  • SwapTotal: Den totale mængde swap plads til rådighed.
  • SwapFree: Den frie mængde swap plads.
  • Dirty: Hukommelse, der venter på at blive skrevet til disk.
  • Writeback: Hukommelse, der aktivt bliver skrevet til disk.
  • AnonPages: Anonym hukommelse, der ikke er tilknyttet nogen fil.
  • Mapped: Hukommelse, der er mappet til filer eller enheder.
  • Shmem: Hukommelse brugt af delt hukommelse (shared memory).
  • Slab: Hukommelse brugt af kernel data strukturer.
  • SReclaimable: Del af slab hukommelse, der kan genbruges.
  • SUnreclaim: Del af slab hukommelse, der ikke kan genbruges.
  • KernelStack: Hukommelse brugt af kernel stacks.
  • PageTables: Hukommelse brugt af side tabeller (page tables).
  • NFS_Unstable: NFS sider, der endnu ikke er skrevet til disk.
  • Bounce: Hukommelse brugt til I/O bounce buffers.
  • WritebackTmp: Midlertidig hukommelse brugt til writeback.
  • CommitLimit: Grænsen for hvor meget hukommelse der kan allokeres.
  • Committed_AS: Den totale mængde hukommelse, der er allokeret af processer.
  • VmallocTotal: Den totale mængde hukommelse, der kan allokeres via vmalloc.
  • VmallocUsed: Den mængde hukommelse, der er allokeret via vmalloc.
  • VmallocChunk: Den største sammenhængende blok af ledig vmalloc hukommelse.
  • HardwareCorrupted: Hukommelse, der er markeret som beskadiget af hardware.
  • AnonHugePages: Anonym hukommelse, der bruger huge pages.
  • ShmemHugePages: Delt hukommelse, der bruger huge pages.
  • ShmemPmdMapped: Delt hukommelse, der er mappet via PMD (Page Middle Directory).
  • CmaTotal: Den totale mængde hukommelse, der er reserveret til CMA (Contiguous Memory Allocator).
  • CmaFree: Den frie mængde hukommelse, der er reserveret til CMA.

Disse poster giver en omfattende oversigt over hukommelsesanvendelsen i systemet og kan være nyttige til fejlfinding og optimering af systemets ydeevne.