Particularmente, ¿ proc
siempre 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.
Particularmente, ¿ proc
siempre 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.
Respuestas:
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_mem
enfs/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.
fs/proc/meminfo.c
. (Y envíe un parche a la página de manual para aclararlo).
/proc/meminfo
?man 5 proc
No está exactamente claro aquí.