프로세스 당 / 스레드 당 메모리 소비를 어떻게 모니터링 할 수 있습니까 (힙, 스택, 데이터, 코드로 구분됨)?


11

직접 코드를 작성하고 작성하기 전에 QNXshowmem 와 비슷한 것을 출력 할 수있는 GNU / Linux 소프트웨어가 있는지 알고 싶습니다 .

실행중인 각 프로세스의 각 스레드에 대해 메모리 소비를 다음 범주로 나누고 싶습니다.

 Process listing (Total, Code, Data, Heap, Stack, Other)
 319488  1024000      24587     167936      24576          0        4103 devc-con-hid (thread 2)
    0          0          0          0       4096          0        4103 devc-con-hid (thread 2)
    0          0          0          0      20480          0        4103 devc-con-hid (thread 1)
    0     102400       8192          0          0          0        4103 devc-con-hid (proc/boot/devc-con-hid)
    0          0      16384          0          0          0        4103 devc-con-hid (proc/boot/libc.so.3)
    0          0          0          0          0  (   36864)       4103 devc-con-hid (/dev/mem)

이것을 가능하게 할 것이 있습니까?


이 정보의 대부분이 다음과 같습니다/proc/$PID/smaps
Bratchley

맞습니다. 그러나 메모리 정보를 자동으로 출력하고 실행할 수있는 도구가 있기를 바랐습니다.
Alex Dima

특정 요구 사항이있는 사람을 위해 메모리 프로파일 러가 있다고 확신합니다. 대부분의 사람들은 정기적으로 해당 proc 파일의 내용을 저장할 수 있습니다. VALgrind의 구성 요소 중 하나가 꽤 좋은 프로파일 러를 가지고있는 것처럼 들립니다 . 나는 그것을 사용한 적이 없지만 아마도 당신이 들어가는 방향 일 것입니다.
Bratchley

답변:


6

다음을 사용하여 몇 가지 정보를 볼 수 있습니다 pmap -x PID-이 프로세스의 각 라이브러리 / 모듈 / 파일 열기 / 스택 킬로바이트, RSS 및 더러운 메모리로 나뉘어 :

undefine @ uml : ~ $ pmap -x 13206
13206 : 수면 60
주소 KB RSS 더티 모드 매핑
0000000000400000 24 20 0 rx-- 수면
0000000000606000 4 4 r ---- 수면
0000000000607000 4 4 rw --- 수면
000000000063b000 132 8 8 rw --- [anon]
00007f6a9847e000 4308 44 0 r ---- 로케일 아카이브
00007f6a988b3000 1772 376 0 rx-- libc-2.19.so
00007f6a98a6e000 2048 0 ----- libc-2.19.so
00007f6a98c6e000 16 16 16 r ---- libc-2.19.so
00007f6a98c72000 8 8 rw --- libc-2.19.so
00007f6a98c74000 20 12 12 rw --- [아논]
00007f6a98c79000 140116 0 rx-- ld-2.19.so
00007f6a98e71000 12 12 12 rw --- [아논]
00007f6a98e99000 8 8 8 rw --- [anon]
00007f6a98e9b000 4 4 r----ld-2.19.so
00007f6a98e9c000 4 4 rw --- ld-2.19.so
00007f6a98e9d000 4 4 rw --- [anon]
00007fff09fd0000 132 12 12 rw --- [스택]
00007fff09ffe000 8 4 0 rx-- [아논]
ffffffffff600000 4000 rx-- [아논]
---------------- ------- ------- ------- 
총 kB 8652656 96
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.