В частности, proc
всегда ли указывается значение VmRSS в kB
? Я не могу найти твердый ответ в документации , хотя кажется, что он придерживается одной единицы.
10
В частности, proc
всегда ли указывается значение VmRSS в kB
? Я не могу найти твердый ответ в документации , хотя кажется, что он придерживается одной единицы.
Да, это всегда в кБ. КиБ (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, но это "кБ" там жестко закодировано. Нет логики для вывода какого-либо другого устройства.
/proc/meminfo
?man 5 proc
здесь не совсем понятноfs/proc/meminfo.c
. (И, пожалуйста, пришлите патч на