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