- 论坛徽章:
- 0
|
写了个程序,需要长期运行,用pmap -d $PID查看到内存占用达到80M,而目标是控制在20M以内,故需要找出内存占用过多的原因。
占用物理内存: 83520K
mapped: 194864K writeable/private: 83520K shared: 0K
看pmap的结果,其中一个地址上占用了
00002aaaac06c000 65104 ----- 00002aaaac06c000 000:00000 [ anon ]
还有几个占用比较大的:
0000000040fd3000 10240 rw--- 0000000040fd3000 000:00000 [ anon ]
请教下有经验的前辈,如何才能根据前面的地址找出对应的源码行或者变量呢?比如上面占用了65104K虚拟内存的地址<00002aaaac06c000>,用什么办法查找出对应的源码行或者变量?
以下为pmap -d $PID的结果:
[root@rh5ora1 RHEL5.8]# pmap -d 26578
26578: /development/monitor-product/SourceCode/agent_src/Linux/RHEL5.8/agentstart --mode=normal --init_xml=/development/monitor-product/SourceCode/agent_src/Linux/RHEL5.8/config/config_main/initialization_main.xml --daemon_program=/development/monitor-product/SourceCode/agent_src/Linux/RHEL5.8/bin/cesmond
Address Kbytes Mode Offset Device Mapping
0000000000400000 132 r-x-- 0000000000000000 008:00002 agentstart
0000000000620000 16 rw--- 0000000000020000 008:00002 agentstart
0000000000624000 48 rw--- 0000000000624000 000:00000 [ anon ]
0000000018a94000 580 rw--- 0000000018a94000 000:00000 [ anon ]
00000000405d1000 4 ----- 00000000405d1000 000:00000 [ anon ]
00000000405d2000 10240 rw--- 00000000405d2000 000:00000 [ anon ]
0000000040fd2000 4 ----- 0000000040fd2000 000:00000 [ anon ]
0000000040fd3000 10240 rw--- 0000000040fd3000 000:00000 [ anon ]
00000000419d3000 4 ----- 00000000419d3000 000:00000 [ anon ]
00000000419d4000 10240 rw--- 00000000419d4000 000:00000 [ anon ]
00000000423d4000 4 ----- 00000000423d4000 000:00000 [ anon ]
00000000423d5000 10240 rw--- 00000000423d5000 000:00000 [ anon ]
0000000042dd5000 4 ----- 0000000042dd5000 000:00000 [ anon ]
0000000042dd6000 10240 rw--- 0000000042dd6000 000:00000 [ anon ]
00000000437d6000 4 ----- 00000000437d6000 000:00000 [ anon ]
00000000437d7000 10240 rw--- 00000000437d7000 000:00000 [ anon ]
00000000441d7000 4 ----- 00000000441d7000 000:00000 [ anon ]
00000000441d8000 10240 rw--- 00000000441d8000 000:00000 [ anon ]
0000000045fda000 4 ----- 0000000045fda000 000:00000 [ anon ]
0000000045fdb000 10240 rw--- 0000000045fdb000 000:00000 [ anon ]
0000003c3e200000 112 r-x-- 0000000000000000 008:00001 ld-2.5.so
0000003c3e41c000 4 r---- 000000000001c000 008:00001 ld-2.5.so
0000003c3e41d000 4 rw--- 000000000001d000 008:00001 ld-2.5.so
0000003c3e600000 1340 r-x-- 0000000000000000 008:00001 libc-2.5.so
0000003c3e74f000 2044 ----- 000000000014f000 008:00001 libc-2.5.so
0000003c3e94e000 16 r---- 000000000014e000 008:00001 libc-2.5.so
0000003c3e952000 4 rw--- 0000000000152000 008:00001 libc-2.5.so
0000003c3e953000 20 rw--- 0000003c3e953000 000:00000 [ anon ]
0000003c3ea00000 520 r-x-- 0000000000000000 008:00001 libm-2.5.so
0000003c3ea82000 2044 ----- 0000000000082000 008:00001 libm-2.5.so
0000003c3ec81000 4 r---- 0000000000081000 008:00001 libm-2.5.so
0000003c3ec82000 4 rw--- 0000000000082000 008:00001 libm-2.5.so
0000003c3ee00000 8 r-x-- 0000000000000000 008:00001 libdl-2.5.so
0000003c3ee02000 2048 ----- 0000000000002000 008:00001 libdl-2.5.so
0000003c3f002000 4 r---- 0000000000002000 008:00001 libdl-2.5.so
0000003c3f003000 4 rw--- 0000000000003000 008:00001 libdl-2.5.so
0000003c3f200000 80 r-x-- 0000000000000000 008:00001 libz.so.1.2.3
0000003c3f214000 2044 ----- 0000000000014000 008:00001 libz.so.1.2.3
0000003c3f413000 4 rw--- 0000000000013000 008:00001 libz.so.1.2.3
0000003c3f600000 88 r-x-- 0000000000000000 008:00001 libpthread-2.5.so
0000003c3f616000 2044 ----- 0000000000016000 008:00001 libpthread-2.5.so
0000003c3f815000 4 r---- 0000000000015000 008:00001 libpthread-2.5.so
0000003c3f816000 4 rw--- 0000000000016000 008:00001 libpthread-2.5.so
0000003c3f817000 16 rw--- 0000003c3f817000 000:00000 [ anon ]
0000003c42600000 28 r-x-- 0000000000000000 008:00001 librt-2.5.so
0000003c42607000 2048 ----- 0000000000007000 008:00001 librt-2.5.so
0000003c42807000 4 r---- 0000000000007000 008:00001 librt-2.5.so
0000003c42808000 4 rw--- 0000000000008000 008:00001 librt-2.5.so
0000003c43e00000 52 r-x-- 0000000000000000 008:00001 libgcc_s-4.1.2-20080825.so.1
0000003c43e0d000 2048 ----- 000000000000d000 008:00001 libgcc_s-4.1.2-20080825.so.1
0000003c4400d000 4 rw--- 000000000000d000 008:00001 libgcc_s-4.1.2-20080825.so.1
0000003c44a00000 920 r-x-- 0000000000000000 008:00001 libstdc++.so.6.0.8
0000003c44ae6000 2044 ----- 00000000000e6000 008:00001 libstdc++.so.6.0.8
0000003c44ce5000 24 r---- 00000000000e5000 008:00001 libstdc++.so.6.0.8
0000003c44ceb000 12 rw--- 00000000000eb000 008:00001 libstdc++.so.6.0.8
0000003c44cee000 72 rw--- 0000003c44cee000 000:00000 [ anon ]
0000003c49600000 1228 r-x-- 0000000000000000 008:00001 libxml2.so.2.6.26
0000003c49733000 2048 ----- 0000000000133000 008:00001 libxml2.so.2.6.26
0000003c49933000 36 rw--- 0000000000133000 008:00001 libxml2.so.2.6.26
0000003c4993c000 4 rw--- 0000003c4993c000 000:00000 [ anon ]
00002aaaaaaab000 4 rw--- 00002aaaaaaab000 000:00000 [ anon ]
00002aaaac000000 432 rw--- 00002aaaac000000 000:00000 [ anon ]
00002aaaac06c000 65104 ----- 00002aaaac06c000 000:00000 [ anon ]
00002b5519695000 148 rw--- 00002b5519695000 000:00000 [ anon ]
00002b55196bc000 108 r-x-- 0000000000000000 008:00001 liblog4c.so.3.3.0
00002b55196d7000 2044 ----- 000000000001b000 008:00001 liblog4c.so.3.3.0
00002b55198d6000 4 rw--- 000000000001a000 008:00001 liblog4c.so.3.3.0
00002b55198d7000 8 rw--- 00002b55198d7000 000:00000 [ anon ]
00002b55198d9000 8 r-x-- 0000000000000000 008:00002 libmessage.so
00002b55198db000 2048 ----- 0000000000002000 008:00002 libmessage.so
00002b5519adb000 4 rw--- 0000000000002000 008:00002 libmessage.so
00002b5519adc000 8 rw--- 00002b5519adc000 000:00000 [ anon ]
00002b5519ade000 4 r-x-- 0000000000000000 008:00002 libmain.so
00002b5519adf000 2048 ----- 0000000000001000 008:00002 libmain.so
00002b5519cdf000 4 rw--- 0000000000001000 008:00002 libmain.so
00002b5519ce0000 12 rw--- 00002b5519ce0000 000:00000 [ anon ]
00002b5519ce3000 260 r-x-- 0000000000000000 008:00001 libzmq.so.3.0.0
00002b5519d24000 2048 ----- 0000000000041000 008:00001 libzmq.so.3.0.0
00002b5519f24000 20 rw--- 0000000000041000 008:00001 libzmq.so.3.0.0
00002b5519f29000 56 r-x-- 0000000000000000 008:00001 libprotobuf-c.so.0.0.0
00002b5519f37000 2048 ----- 000000000000e000 008:00001 libprotobuf-c.so.0.0.0
00002b551a137000 4 rw--- 000000000000e000 008:00001 libprotobuf-c.so.0.0.0
00002b551a138000 248 r-x-- 0000000000000000 008:00001 libczmq.so.1.1.0
00002b551a176000 2044 ----- 000000000003e000 008:00001 libczmq.so.1.1.0
00002b551a375000 8 rw--- 000000000003d000 008:00001 libczmq.so.1.1.0
00002b551a377000 12 rw--- 00002b551a377000 000:00000 [ anon ]
00002b551a37a000 16 r-x-- 0000000000000000 008:00001 libuuid.so.1.2
00002b551a37e000 2044 ----- 0000000000004000 008:00001 libuuid.so.1.2
00002b551a57d000 4 rw--- 0000000000003000 008:00001 libuuid.so.1.2
00002b551a57e000 8 rw--- 00002b551a57e000 000:00000 [ anon ]
00007fff759d2000 84 rw--- 00007ffffffe9000 000:00000 [ stack ]
00007fff759fd000 12 r-x-- 00007fff759fd000 000:00000 [ anon ]
ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ]
mapped: 194864K writeable/private: 83520K shared: 0K
[root@rh5ora1 RHEL5.8]#
|
|