/ Proc / [pid] / status sempre usa kB?

10

Particularmente, procsempre lista o valor do VmRSS kB? Não consigo encontrar uma resposta sólida na documentação , embora pareça que ele se atenha a uma unidade.

Jess Smith
fonte

Respostas:

10

Sim, está sempre em kB. KiB (1024 bytes, não 1000) para ser exato.

Pelo menos no Linux 4.0 (e este código tem sido largamente inalterado desde pelo menos, Abril de 2005 a que, quando Linus mudou para git, e eu não me importo que volte ainda mais) que a produção vem task_mememfs/proc/task_mmu.c . Trecho de algumas linhas:

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

Não tenho certeza se você pode ler C, mas esse "kB" está codificado lá. Não há lógica para emitir qualquer outra unidade.

derobert
fonte
O mesmo vale para /proc/meminfo? man 5 procnão é exatamente claro aqui.
Olejorgenb #
1
@olejorgenb sim, isso também é codificado como kB. Olhe dentro fs/proc/meminfo.c. (E envie um patch para a página de manual para esclarecer.)
derobert