/ proc / [pid] / statusは常にkBを使用しますか?


回答:


10

はい、それは常にkBです。正確にはKiB(1000ではなく1024バイト)。

少なくともLinux 4.0では(そして、このコードは少なくとも2005年4月以降、ほとんど変更されていません。そのとき、Linusはに切り替えました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 2017

1
@olejorgenbうん、それもkBとしてハードコードされています。見てくださいfs/proc/meminfo.c。(また、明確にするためにパッチをマンページに送ってください。)
derobert
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.