Как найти память кучи запущенного процесса?

Как найти память кучи запущенного процесса?

Я хотел бы узнать, как найти память кучи процесса, работающего в фоновом режиме. Есть ли какая-нибудь команда, которая позволяет это сделать?

решение1

Если вы хотите посмотреть на конкретный процесс с именем eg wing_ide, то

ps a | fgrep wing_ide | fgrep -v fgrep

дает вам номер в начале строки (в моем случае 29837), используйте этот номер следующим образом:

fgrep '[heap]' /proc/29837/maps

Вывод выглядит так:

01d56000-07026000 rw-p 00000000 00:00 0                       [heap]

Если вы делаете это регулярно, вам может пригодиться следующая программа на Python:

import sys
import psutil

for p in psutil.process_iter():
    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)

Какой программе вы указываете имя процесса, который хотите найти, в качестве аргумента:

python findheap.py wing_ide

Связанный контент