특정 프로세스의 메모리 사용량(Linux proc 파일 시스템 사용)

특정 프로세스의 메모리 사용량(Linux proc 파일 시스템 사용)

/proc 디렉토리의 어떤 파일과 해당 파일의 어떤 필드가 주어진 PID의 메모리 사용량을 계산하는 데 필요한지 알고 싶습니다. 저는 "stat" 파일과 해당 파일의 "vsize" 매개변수를 사용해 왔지만 이는 좋은 계산이 아닙니다. 더 나은 공식을 아는 사람이 있나요? 고마워요, 안나.

답변1

실제로는 을 사용해야 하므로 /proc/주의 깊게 읽어보시기 바랍니다.공정(5).

프로세스 1234의 경우 주소 공간을 얻기 위해 읽기 /proc/1234/maps(또는 ) 를 원하고 & 읽기를 원합니다./proc/1234/smaps/proc/1234/status/proc/1234/statm

자신만의 프로세스를 위해 (프로그래밍 방식으로) /proc/self/maps, /proc/self/status,/proc/self/statm

참고하세요메모리 사용량Linux에서는 매우 모호한 용어입니다. mmap두 프로세스가 공유하는 파일 세그먼트를 계산하는 방법은 무엇입니까 ? 바라보다매핑(2)&루사흐 얻기(2)

cat /proc/self/maps터미널 에서 시도해 보세요 cat /proc/$$/maps. 위키 페이지 읽기주소 공간,가상 메모리,페이지 캐시,ASLR,매우 낮은 주파수,RSS,작업 세트...

답변2

("배율 설정 크기") 가져오기 pss(GB):

cat /proc/$pid/smaps | grep -i pss |  awk '{Total+=$2} END {print Total/1024/1024" GB"}'

관련 정보