Зокрема, чи procзавжди вказується значення VmRSS kB? Я не можу знайти надійної відповіді в документації , хоча, схоже, вона дотримується однієї одиниці.
Зокрема, чи procзавжди вказується значення VmRSS kB? Я не можу знайти надійної відповіді в документації , хоча, схоже, вона дотримується однієї одиниці.
Відповіді:
Так, це завжди в кБ. KiB (1024-байт, а не 1000), щоб бути точним.
Принаймні , в Linux 4.0 (і цей код був в основному без змін , так як , по крайней мере квітня 2005- х років , коли , що Лінус перейшов на git, і я не дбаю , щоб перевірити ще далі назад) , що вихід надходить з task_memвfs/proc/task_mmu.c . Визначення кількох рядків:
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),
⋮
);
Не впевнений, чи можете ви читати C, але там "kB" жорстко закодовано. Немає логіки для виведення будь-якого іншого блоку.
fs/proc/meminfo.c. (І, будь ласка, надішліть патч на сторінку, щоб уточнити.)
/proc/meminfo?man 5 procтут не зовсім ясно.