Đặc biệt, proc
luôn liệt kê giá trị VmRSS trong kB
? Tôi không thể tìm thấy câu trả lời chắc chắn trên tài liệu , mặc dù có vẻ như nó dính vào một đơn vị.
Đặc biệt, proc
luôn liệt kê giá trị VmRSS trong kB
? Tôi không thể tìm thấy câu trả lời chắc chắn trên tài liệu , mặc dù có vẻ như nó dính vào một đơn vị.
Câu trả lời:
Vâng, nó luôn ở kB. Chính xác là KiB (1024 byte, không phải 1000).
Ít nhất trong Linux 4.0 (và mã này đã được phần lớn không thay đổi ít nhất là từ tháng 4 năm 2005-rằng khi Linus chuyển sang git
, và tôi không quan tâm đến kiểm tra lại tiếp tục) đầu ra mà xuất phát từ task_mem
trongfs/proc/task_mmu.c
. Trích một vài dòng:
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),
⋮
);
Không chắc chắn nếu bạn có thể đọc C, nhưng "kB" đó được mã hóa cứng ở đó. Không có logic để xuất bất kỳ đơn vị khác.
fs/proc/meminfo.c
. (Và vui lòng gửi một bản vá vào trang web để làm rõ.)
/proc/meminfo
?man 5 proc
không chính xác rõ ràng ở đây.