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

6

Particularmente, proc sempre lista o valor VmRSS em kB ? Não consigo encontrar uma resposta sólida sobre a documentação , embora pareça que ela se aplica para uma unidade.

    
por Jess Smith 29.04.2015 / 21:08

1 resposta

7

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

Pelo menos no Linux 4.0 (e este código permaneceu praticamente inalterado desde pelo menos abril de 2005 - foi quando Linus mudou para git , e eu não me importo de voltar mais) que a saída vem de task_mem em fs/proc/task_mmu.c . Excerto 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 que "kB" é codificado lá. Não há lógica para produzir qualquer outra unidade.

    
por 29.04.2015 / 21:52

Tags