Se você quiser analisar um processo específico chamado, por exemplo, wing_ide
, então
ps a | fgrep wing_ide | fgrep -v fgrep
dá-lhe um número no início da linha (no meu caso 29837) usa este número da seguinte forma:
fgrep '[heap]' /proc/29837/maps
A saída se parece com:
01d56000-07026000 rw-p 00000000 00:00 0 [heap]
Se você fizer isso regularmente, talvez queira usar o seguinte programa python:
import sys
import psutil
for pid in psutil.get_pid_list():
p = psutil.Process(pid)
if p.name == sys.argv[1]:
print(pid)
for map in p.get_memory_maps(grouped=False):
if '[heap]' in map.path:
print(map.addr)
Para qual programa você fornece o nome do processo que deseja pesquisar como argumento:
python findheap.py wing_ide