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

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

特にprocVmRSS値は常にkB?信頼できる答えが見つかりません文書、ユニットに付いているように見えるけど。

ベストアンサー1

はい、常に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」はハードコードされています。他のデバイスへの論理出力はありません。

おすすめ記事