Зокрема, чи 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
тут не зовсім ясно.