Có / Proc / [pid] / status luôn sử dụng kB không?


10

Đặ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:


10

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.


Liệu cùng giữ cho /proc/meminfo? man 5 prockhông chính xác rõ ràng ở đây.
olejorgenb

1
@olejorgenb yep, đó cũng là mã hóa cứng như kB. Nhìn vào fs/proc/meminfo.c. (Và vui lòng gửi một bản vá vào trang web để làm rõ.)
derobert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.