โดยเฉพาะอย่างยิ่งproc
จะแสดงรายการค่า VmRSS ในทุกครั้งkB
หรือไม่ ฉันไม่พบคำตอบที่ชัดเจนในเอกสารแม้ว่ามันจะปรากฏว่ามันติดอยู่กับหนึ่งหน่วย
โดยเฉพาะอย่างยิ่งproc
จะแสดงรายการค่า VmRSS ในทุกครั้งkB
หรือไม่ ฉันไม่พบคำตอบที่ชัดเจนในเอกสารแม้ว่ามันจะปรากฏว่ามันติดอยู่กับหนึ่งหน่วย
คำตอบ:
ใช่มันเป็น kB เสมอ KiB (1024- ไบต์ไม่ใช่ 1,000) ให้แน่นอน
อย่างน้อยก็ในลินุกซ์ 4.0 (และรหัสนี้ได้รับส่วนใหญ่ไม่เปลี่ยนแปลงอย่างน้อยตั้งแต่เมษายน 2005 ที่เมื่อ 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" นั้นเป็นฮาร์ดโค้ดที่นั่น ไม่มีตรรกะในการส่งออกหน่วยอื่นใด
fs/proc/meminfo.c
ดูใน (และโปรดส่งแพตช์ไปที่ manpage เพื่อชี้แจง)
/proc/meminfo
หรือไม่man 5 proc
ไม่ชัดเจนตรงนี้