Apakah / proc / [pid] / status selalu menggunakan kB?

10

Terutama, apakah procselalu mencantumkan nilai VmRSS di kB? Saya tidak dapat menemukan jawaban yang kuat pada dokumentasi , meskipun tampaknya menempel pada satu unit.

Jess Smith
sumber

Jawaban:

10

Ya, selalu dalam kB. KiB (1024-bytes, bukan 1000) tepatnya.

Setidaknya dalam Linux 4.0 (dan kode ini telah sebagian besar tidak berubah setidaknya sejak April 2005-yang ketika Linus beralih ke git, dan saya tidak peduli untuk memeriksa kembali lebih lanjut) output yang berasal dari task_memdalamfs/proc/task_mmu.c . Mengutip beberapa baris:

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),
    
);

Tidak yakin apakah Anda bisa membaca C, tapi "kB" itu ada di hardcode. Tidak ada logika untuk menampilkan unit lain.

derobert
sumber
Apakah hal yang sama berlaku untuk /proc/meminfo? man 5 proctidak jelas di sini.
olejorgenb
1
@olejorgenb ya, itu kode-keras juga kB. Lihat fs/proc/meminfo.c. (Dan tolong kirim tambalan ke halaman manual untuk mengklarifikasi.)
derobert