O problema de determinar quanta memória um processo individual consome é um processo aberto e principalmente baseado na definição.
A questão, em grande parte, surge de bibliotecas compartilhadas - como você calcularia o uso de memória de um processo que usa o mesmo, assim como outros 3 processos? você diria que consome toda a memória que a lib está alocada, já que não poderia funcionar sem ela? você diria que consome a parte proporcional (1/4, já que existem 3 outras procs que o usam simultaneamente - pss)? você diria que o processo é independente de qualquer biblioteca que carregue para executar?
Você incluiria memória trocada ou apenas páginas residentes em memória física? E quanto a vários segmentos ou processos filhos? Os garfos usam a mesma memória de seus pais desde que nenhuma alteração seja feita - você contaria essa alocação de memória para cada processo ou apenas para o pai?
Esta pergunta foi feita e respondida aqui e em outros sites muitas vezes, então vou apenas dar alguns links e uma conclusão geral.
Primeiro, o artigo mais citado sobre o assunto - link
Algumas perguntas sobre SO e U & L sobre o mesmo assunto:
link
link
Determinando corretamente o uso de memória no Linux
Em conclusão - /prc/[pid]/smap
de acordo com o doc
The /proc/PID/smaps is an extension based on maps, showing the memory
consumption for each of the process's mappings.
Ou use o comando pmap .