Đặc biệt, procluô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, procluô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_memtrongfs/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 prockhông chính xác rõ ràng ở đây.