De fato, você precisa usar /proc/
; então leia atentamente proc (5) .
Para o processo 1234, você deseja ler /proc/1234/maps
(ou /proc/1234/smaps
) para obter o espaço de endereço e ler /proc/1234/status
& /proc/1234/statm
Para seu próprio processo (programaticamente), use /proc/self/maps
, /proc/self/status
, /proc/self/statm
Observe que uso de memória é um termo muito ambíguo no Linux. Como você contaria um segmento de arquivo mmap
-ed por dois processos? Consulte mmap (2) & getrusage (2)
Teste cat /proc/self/maps
, cat /proc/$$/maps
em um terminal. Leia as páginas wiki no espaço de endereço , memória virtual , cache de páginas , ASLR , ELF , RSS , conjunto de trabalhos ...