실행 중인 프로세스의 힙 메모리를 찾는 방법은 무엇입니까?

실행 중인 프로세스의 힙 메모리를 찾는 방법은 무엇입니까?

백그라운드에서 실행중인 프로세스의 힙 메모리를 찾는 방법을 알고 싶습니다. 그러한 것을 허용하는 명령이 있습니까?

답변1

예를 들어 이라는 특정 프로세스를 보려면 다음을 수행하십시오 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

관련 정보