In particolare, proc
elenca sempre il valore VmRSS in kB
? Non riesco a trovare una risposta solida sulla documentazione , anche se sembra che si attacchi a un'unità.
In particolare, proc
elenca sempre il valore VmRSS in kB
? Non riesco a trovare una risposta solida sulla documentazione , anche se sembra che si attacchi a un'unità.
Risposte:
Sì, è sempre in KB. KiB (1024 byte, non 1000) per l'esattezza.
Almeno in Linux 4.0 (e questo codice è stato in gran parte invariato almeno dal aprile 2005, che, quando Linus passati a git
, e non mi importa di controllare ulteriormente) che la produzione viene da task_mem
infs/proc/task_mmu.c
. Estrarre alcune righe:
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),
⋮
);
Non sono sicuro di poter leggere C, ma quel "kB" è codificato lì. Non esiste alcuna logica per l'uscita di qualsiasi altra unità.
fs/proc/meminfo.c
. (E per favore, manda una patch alla manpage per chiarire.)
/proc/meminfo
?man 5 proc
non è esattamente chiaro qui.