Explicació /proc/meminfo

Què vol cadascun dels valors proporcionats per la comanda cat /proc/meminfo en GNU/Linux ?

L’explicació original per cada sistema la podem trobar amb la comanda: man proc

Els valors tots son el kilobytes aquest exemple és de la versió de kernel 5.10.33

Memtotal: És la quantitat total de memòria RAM física.

MemFree: És la quantitat total de RAM física que el sistema no utilitza.

MemAvailable: Estimació de memòria disponible per un nou procés sense swap.

Buffers: La memòria utilitzada per memòries intermèdies de fitxers

Cached: Quantitat de memòria caché disponible

SwapCached: Quantitat de memòria caché a la memòria d’intercanvi en el disc que si es torna a utilitzar no cal tornar-la a escriure al disc.

Active: Memòria en ús ja sigui buffers o pache cache.

Active(anon): Memòria que s’utilitza en tmpfs/shmem que està activa.

Inactive: Memòria en disponible per reutilitzar-la ja sigui buffers o pache cache.

Inactive(anon): Memòria que s’utilitza en tmpfs/shmem que és candidata a ser reutilitzada per altres coses.

Active(file): Memòria cache de fitxers actualment en ús

Inactive(file): Memòria cache de fitxers que es pot recuperar.

Unevictable: Memòria que no es pot alliberar descoberta pel codi pageout però blocada per processos de l’usuari.

Mlocked: Memòria blocada pels programes d’usuari

HighTotal i HighFree; Total de memòria que no està assignada a l’espai del nucli

LowTotal i LowFree: Total de memòria que està assignada a l’espai del nucli

SwapTotal: La quantitat de memòria d’intercanvi disponible en el disc.

SwapFree: Memòria d’intercanvi lliure en el disc.

Dirty: Informació esperant pendent d’escriure en el disc.

Writeback: memòria que s’està tornat a escriure activament al disc

Mapped: fitxers que s’han mapejat com a biblioteques (mmap).

Slab: memòria cache d’estructures de dades dins del kernel pel seu ús.

SReclaimable: La part de Slab que és pot reclamar.

SUnreclaim: La part de Slab que no és pot reclamar encara que es quedi sense memòria.

Kernelstack: Utilitzada per assignacions de la pila del nucli per cada tasca del sistema.

PageTables: Memòria dedicada al nivell més baix de la taula de pàgines.

NFS_Unstable: Paginés de memòria enviades al NFS server però que encara no estan escrites en el disc destí.

Bounce: Memòria utilitzada pel dispositiu de bloc. “bounce buffers”

WritebackTmp: Utilitzat per FUSE pels buffers temporals de writeback

CommitLimit: Memòria disponible actualment per assignar-se al sistema en funció de vm.overcommit_ratio. Això limit només es compleix si s’ha activat la compatibilitat de overcommit estricta (mode 2 a vm.overcommit_memory). Per exemple un sistema amb 1GB de RAM visita i 7GB d’intercanvi amb un vm.overcommit_ratio de 30, donaria un rendiment de CommitLimit de 7,3 Gb.

Committed_AS: Estimació de la quantitat de memòria RAM que es necessitarà per garantir que mai tindrem un OOM

VMallocTotal: Total de la mida de l’àrea de memòria vmalloc. Total d’adreces virtuals assignades.

VMallocUsed: Espai d’adreces utilitzat.

VMallocChunk: El bloc continu més de l’àrea vmalloc lliure.

CmaTotal: Quantitat de pàgines CMA (Assignació de memòria continua) utilitzat per dispositius que només poden comunicar-se en regions contigues de memòria

CmaFree: Quantitat de pàgines continues de memòria lliures.

HugePages_Total: El nombre total de pàgines enormes del sistema. El nombre s’obté dividint Hugepagesize entre els megabytes reservats per a hugepages especificats a /proc/sys/vm/hugetlb_pool. Aquesta estadística només apareix a les arquitectures x86, Itanium i AMD64.

HugePages_Free: El nombre total de pàgines enormes disponibles per al sistema. Aquesta estadística només apareix a les arquitectures x86, Itanium i AMD64.

Hugepagessize: La mida de cada unitat de pàgines enormes en kilobytes. Per defecte, el valor és de 4096 KB als nuclis d’uniprocessador per a arquitectures de 32 bits. Per a SMP, nuclis hugeem i AMD64, el valor predeterminat és 2048 KB. Per a les arquitectures Itanium, el valor predeterminat és 262144 KB. Aquesta estadística només apareix a les arquitectures x86, Itanium i AMD64

DirectMap4k: Memòria assignada l’espai d’adreces del nucli amb pagemap de 4 kB

DirectMap2M: Memòria assignada l’espai d’adreces del nucli amb pagemap de 2 MB

DirectMap1G: Memòria assignada l’espai d’adreces del nucli amb pagemap de 1 GB