Memory

是否 /proc/pidp一世dpid/status 總是使用 kB?

  • February 17, 2016

特別是,proc總是在 ? 中列出 VmRSS 值kB我在文件中找不到可靠的答案,儘管它似乎只適用於一個單元。

是的,它總是以 kB 為單位。確切地說,KiB(1024 字節,而不是 1000 字節)。

至少在 Linux 4.0 中(至少自 2005 年 4 月以來,這段程式碼基本上沒有變化——那是 Linus切換gittask_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”是硬編碼的。沒有輸出任何其他單元的邏輯。

引用自:https://unix.stackexchange.com/questions/199482