¿/ Proc / [pid] / status siempre usa kB?

10

Particularmente, ¿ procsiempre enumera el valor de VmRSS en kB? No puedo encontrar una respuesta sólida en la documentación , aunque parece que se adhiere a una unidad.

Jess Smith
fuente

Respuestas:

10

Sí, siempre está en kB. KiB (1024 bytes, no 1000) para ser exactos.

Por lo menos en Linux 4.0 (y el código ha sido en gran parte sin cambios desde por lo menos, abril de 2005- que es cuando cambiaron a Linus git, y yo no se preocupan de comprobar de nuevo más) que la producción viene de task_memenfs/proc/task_mmu.c . Extrayendo algunas líneas:

seq_printf(m,
    "VmPeak:\t%8lu kB\n"
    "VmSize:\t%8lu kB\n"
    "VmLck:\t%8lu kB\n"
    "VmPin:\t%8lu kB\n"
    "VmHWM:\t%8lu kB\n"
    "VmRSS:\t%8lu kB\n"
    "VmData:\t%8lu kB\n"
    "VmStk:\t%8lu kB\n"
    "VmExe:\t%8lu kB\n"
    "VmLib:\t%8lu kB\n"
    "VmPTE:\t%8lu kB\n"
    "VmPMD:\t%8lu kB\n"
    "VmSwap:\t%8lu kB\n",
    hiwater_vm << (PAGE_SHIFT-10),
    
);

No estoy seguro si puedes leer C, pero ese "kB" está codificado allí. No hay lógica para generar ninguna otra unidad.

derobert
fuente
¿Lo mismo vale /proc/meminfo? man 5 procNo está exactamente claro aquí.
olejorgenb
1
@olejorgenb sí, eso también está codificado como kB. Busque en fs/proc/meminfo.c. (Y envíe un parche a la página de manual para aclararlo).
derobert