Чи / proc / [pid] / status завжди використовує kB?


10

Зокрема, чи procзавжди вказується значення VmRSS kB? Я не можу знайти надійної відповіді в документації , хоча, схоже, вона дотримується однієї одиниці.

Відповіді:


10

Так, це завжди в кБ. 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" жорстко закодовано. Немає логіки для виведення будь-якого іншого блоку.


Чи те саме стосується /proc/meminfo? man 5 procтут не зовсім ясно.
olejorgenb

1
@olejorgenb так, це також важко закодовано як kB. Загляньте fs/proc/meminfo.c. (І, будь ласка, надішліть патч на сторінку, щоб уточнити.)
derobert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.