A página man do sistema de arquivos proc diz que o uso de memória para /proc/[pid]/statm
e outros é "medido em páginas". Não tenho certeza do que isso significa quando vários tamanhos de página são usados.
Digamos que meu processo use duas páginas, uma de 4 KiB e uma de 2 MiB, e sysconf(_SC_PAGE_SIZE)
retorne 4096 bytes. Qual dos seguintes resultados retornará proc/[pid]/statm
neste caso?
2
, porque o processo está usando uma página de 4 KiB e uma página de 2 MiB.513
, porque o processo usa 2101248 bytes e isso é dividido pelo tamanho de página "padrão" (4096 bytes).
Você verá 513 — os valores são mostrados em páginas “padrão”. Você pode comparar com os valores em kiB fornecidos em
/proc/[pid]/status
; as equivalências são fornecidas emman 5 proc_pid_statm
.Veja
proc_pid_statm
etask_statm
no código-fonte do kernel para referência (se isso for significativo para você).