Linux查看进程内存工具求教

92 views
Skip to first unread message

Kai Ding

unread,
Jan 14, 2014, 12:52:49 AM1/14/14
to sh...@googlegroups.com
最近跑的程序遇到点问题,想分析下进程占用内存到底是谁分配的,请问可有什么比较给力的工具?我的内存情况如下:
0000000000400000   1076K r-x--  /data/nosfs/nosfs-0.3.2/bin/nosfs
000000000070c000     12K rw---  /data/nosfs/nosfs-0.3.2/bin/nosfs
00000000024c3000 2452684K rw---    [ anon ]
000046373c000000  12612K rw---    [ anon ]
000046373cc51000  52924K -----    [ anon ]
00007fef69ffb000 524292K rw---    [ anon ]
00007fefa5ffb000      4K -----    [ anon ]
00007fefa5ffc000   8192K rw---    [ anon ]
00007fefa67fd000      4K -----    [ anon ]
00007fefa67fe000   8192K rw---    [ anon ]
00007fefa6ffe000      4K -----    [ anon ]
00007fefa6fff000   8192K rw---    [ anon ]
00007fefa77ff000      4K -----    [ anon ]
00007fefa7800000   8192K rw---    [ anon ]
00007fefa8000000  65524K rw---    [ anon ]
00007fefabffd000     12K -----    [ anon ]
00007fefac000000  62196K rw---    [ anon ]
00007fefafcbd000   3340K -----    [ anon ]
00007fefb0000000  65536K rw---    [ anon ]
00007fefb4000000  58508K rw---    [ anon ]
00007fefb7923000   7028K -----    [ anon ]
00007fefb8000000  65536K rw---    [ anon ]
00007fefbc000000  65536K rw---    [ anon ]
00007fefc0000000 131072K rw---    [ anon ]
00007fefc8000000  65520K rw---    [ anon ]
00007fefcbffc000     16K -----    [ anon ]
00007fefcc000000  65528K rw---    [ anon ]
00007fefcfffe000      8K -----    [ anon ]
00007fefd0000000 131068K rw---    [ anon ]
00007fefd7fff000      4K -----    [ anon ]
00007fefd8000000  65536K rw---    [ anon ]
00007fefdc000000  65512K rw---    [ anon ]
00007fefdfffa000     24K -----    [ anon ]
00007fefe0000000  65520K rw---    [ anon ]
00007fefe3ffc000     16K -----    [ anon ]
00007fefe4000000  65536K rw---    [ anon ]
00007fefe8000000  65520K rw---    [ anon ]
00007fefebffc000     16K -----    [ anon ]
00007fefec000000  65536K rw---    [ anon ]
00007feff0000000  65536K rw---    [ anon ]
00007feff4000000  65536K rw---    [ anon ]
00007feff8000000  65512K rw---    [ anon ]
00007feffbffa000     24K -----    [ anon ]
00007feffc000000  65536K rw---    [ anon ]
00007ff000000000 131072K rw---    [ anon ]
00007ff008000000  65536K rw---    [ anon ]
00007ff00c000000  65536K rw---    [ anon ]
00007ff010000000  65536K rw---    [ anon ]
00007ff014000000  65536K rw---    [ anon ]
00007ff018000000  65536K rw---    [ anon ]
00007ff01c000000  65532K rw---    [ anon ]
00007ff01ffff000      4K -----    [ anon ]
00007ff020000000  65520K rw---    [ anon ]
00007ff023ffc000     16K -----    [ anon ]
00007ff024000000  65536K rw---    [ anon ]
00007ff028000000 131072K rw---    [ anon ]
00007ff030000000 131072K rw---    [ anon ]
00007ff038000000  65516K rw---    [ anon ]
00007ff03bffb000     20K -----    [ anon ]
00007ff03c000000  65536K rw---    [ anon ]
00007ff040000000  65516K rw---    [ anon ]
00007ff043ffb000     20K -----    [ anon ]
00007ff044000000  65536K rw---    [ anon ]
00007ff048000000  65536K rw---    [ anon ]
00007ff04c000000  65536K rw---    [ anon ]
00007ff050000000  65536K rw---    [ anon ]
00007ff054000000  65536K rw---    [ anon ]
00007ff058000000  65520K rw---    [ anon ]
00007ff05bffc000     16K -----    [ anon ]
00007ff05c000000  65516K rw---    [ anon ]
00007ff05fffb000     20K -----    [ anon ]
00007ff060000000  65512K rw---    [ anon ]
00007ff063ffa000     24K -----    [ anon ]
00007ff064000000  65536K rw---    [ anon ]
00007ff068000000  65536K rw---    [ anon ]
00007ff06c000000  65520K rw---    [ anon ]
00007ff06fffc000     16K -----    [ anon ]
00007ff070000000 131072K rw---    [ anon ]
00007ff078000000  65524K rw---    [ anon ]
00007ff07bffd000     12K -----    [ anon ]
00007ff07c000000  65536K rw---    [ anon ]
00007ff080000000  65524K rw---    [ anon ]
00007ff083ffd000     12K -----    [ anon ]
00007ff084000000  65536K rw---    [ anon ]
00007ff088000000  65536K rw---    [ anon ]
00007ff08c000000  65524K rw---    [ anon ]
00007ff08fffd000     12K -----    [ anon ]
00007ff090000000 131072K rw---    [ anon ]
00007ff098000000  65536K rw---    [ anon ]
00007ff09c000000  65524K rw---    [ anon ]
00007ff09fffd000     12K -----    [ anon ]
00007ff0a0000000 131072K rw---    [ anon ]
00007ff0a8000000 131072K rw---    [ anon ]
00007ff0b0000000  65536K rw---    [ anon ]
00007ff0b47f8000      4K -----    [ anon ]
00007ff0b47f9000   8192K rw---    [ anon ]
00007ff0b4ffa000      4K -----    [ anon ]
00007ff0b4ffb000   8192K rw---    [ anon ]
00007ff0b57fb000      4K -----    [ anon ]
00007ff0b57fc000   8192K rw---    [ anon ]
00007ff0b5ffc000      4K -----    [ anon ]
00007ff0b5ffd000   8192K rw---    [ anon ]
00007ff0b67fd000      4K -----    [ anon ]
00007ff0b67fe000   8192K rw---    [ anon ]
00007ff0b6ffe000      4K -----    [ anon ]
00007ff0b6fff000   8192K rw---    [ anon ]
00007ff0b77ff000      4K -----    [ anon ]
00007ff0b7800000   8192K rw---    [ anon ]
00007ff0b8000000  65524K rw---    [ anon ]
00007ff0bbffd000     12K -----    [ anon ]
00007ff0bc1e5000      4K -----    [ anon ]
00007ff0bc1e6000   8192K rw---    [ anon ]
00007ff0bc9e6000      4K -----    [ anon ]
00007ff0bc9e7000   8192K rw---    [ anon ]
00007ff0bd1e7000      4K -----    [ anon ]
00007ff0bd1e8000   8192K rw---    [ anon ]
00007ff0bd9e8000      8K r-x--  /lib/libdl-2.11.3.so
00007ff0bd9ea000   2048K -----  /lib/libdl-2.11.3.so
00007ff0bdbea000      4K r----  /lib/libdl-2.11.3.so
00007ff0bdbeb000      4K rw---  /lib/libdl-2.11.3.so
00007ff0bdbec000     92K r-x--  /lib/libpthread-2.11.3.so
00007ff0bdc03000   2044K -----  /lib/libpthread-2.11.3.so
00007ff0bde02000      4K r----  /lib/libpthread-2.11.3.so
00007ff0bde03000      4K rw---  /lib/libpthread-2.11.3.so
00007ff0bde04000     16K rw---    [ anon ]
00007ff0bde08000     28K r-x--  /lib/librt-2.11.3.so
00007ff0bde0f000   2044K -----  /lib/librt-2.11.3.so
00007ff0be00e000      4K r----  /lib/librt-2.11.3.so
00007ff0be00f000      4K rw---  /lib/librt-2.11.3.so
00007ff0be010000     92K r-x--  /usr/lib/libz.so.1.2.3.4
00007ff0be027000   2044K -----  /usr/lib/libz.so.1.2.3.4
00007ff0be226000      4K rw---  /usr/lib/libz.so.1.2.3.4
00007ff0be227000   1492K r-x--  /usr/lib/libcrypto.so.0.9.8
00007ff0be39c000   2048K -----  /usr/lib/libcrypto.so.0.9.8
00007ff0be59c000    160K rw---  /usr/lib/libcrypto.so.0.9.8
00007ff0be5c4000     16K rw---    [ anon ]
00007ff0be5c8000   1380K r-x--  /lib/libc-2.11.3.so
00007ff0be721000   2044K -----  /lib/libc-2.11.3.so
00007ff0be920000     16K r----  /lib/libc-2.11.3.so
00007ff0be924000      4K rw---  /lib/libc-2.11.3.so
00007ff0be925000     20K rw---    [ anon ]
00007ff0be92a000     88K r-x--  /lib/libgcc_s.so.1
00007ff0be940000   2044K -----  /lib/libgcc_s.so.1
00007ff0beb3f000      4K rw---  /lib/libgcc_s.so.1
00007ff0beb40000    512K r-x--  /lib/libm-2.11.3.so
00007ff0bebc0000   2048K -----  /lib/libm-2.11.3.so
00007ff0bedc0000      4K r----  /lib/libm-2.11.3.so
00007ff0bedc1000      4K rw---  /lib/libm-2.11.3.so
00007ff0bedc2000    984K r-x--  /usr/lib/libstdc++.so.6.0.13
00007ff0beeb8000   2048K -----  /usr/lib/libstdc++.so.6.0.13
00007ff0bf0b8000     28K r----  /usr/lib/libstdc++.so.6.0.13
00007ff0bf0bf000      8K rw---  /usr/lib/libstdc++.so.6.0.13
00007ff0bf0c1000     84K rw---    [ anon ]
00007ff0bf0d6000    140K r-x--  /usr/lib/libfuse.so.2.8.4
00007ff0bf0f9000   2048K -----  /usr/lib/libfuse.so.2.8.4
00007ff0bf2f9000     72K rw---  /usr/lib/libfuse.so.2.8.4
00007ff0bf30b000    316K r-x--  /usr/lib/libssl.so.0.9.8
00007ff0bf35a000   2044K -----  /usr/lib/libssl.so.0.9.8
00007ff0bf559000     28K rw---  /usr/lib/libssl.so.0.9.8
00007ff0bf560000    120K r-x--  /lib/ld-2.11.3.so
00007ff0bf6bd000    136K rw---    [ anon ]
00007ff0bf766000     28K r--s-  /usr/lib/gconv/gconv-modules.cache
00007ff0bf76d000     28K rw---    [ anon ]
00007ff0bf77a000     12K rw---    [ anon ]
00007ff0bf77d000      4K r----  /lib/ld-2.11.3.so
00007ff0bf77e000      4K rw---  /lib/ld-2.11.3.so
00007ff0bf77f000      4K rw---    [ anon ]
00007fffeae77000     84K rw---    [ stack ]
00007fffeafff000      4K r-x--    [ anon ]
ffffffffff600000      4K r-x--    [ anon ]
 total          7643348K

或者大家有没有什么意见?

liyaoshi

unread,
Jan 14, 2014, 9:21:12 PM1/14/14
to sh...@googlegroups.com
slabtop


2014/1/14 Kai Ding <tracym...@gmail.com>

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。

孑影

unread,
Jan 15, 2014, 4:25:54 AM1/15/14
to sh...@googlegroups.com
mtrace 不能用吗 ?

#风起看云涌,叶落品人生#


2014/1/15 liyaoshi <liya...@gmail.com>

Kai Ding

unread,
Jan 16, 2014, 1:50:18 AM1/16/14
to sh...@googlegroups.com
slabtop是查看内核内存分配的?我这里是应用程序的内存分配,应该不能用吧

在 2014年1月15日星期三UTC+8上午10时21分12秒,liyaoshi写道:

liyaoshi

unread,
Jan 16, 2014, 3:07:45 AM1/16/14
to sh...@googlegroups.com
那就top + mtrace + ltrace + strace 

李帅

unread,
Jan 18, 2014, 11:45:42 AM1/18/14
to sh...@googlegroups.com
进程占用内存是内核分配的吧~
/proc/pid/maps
这个信息已经够详细的了,strace跟踪系统调用
ltrace跟踪库调用,可以看出是怎么分配的。
调试内核可以用perf跟systemtap

朱之灏

unread,
Jan 21, 2014, 8:04:37 PM1/21/14
to sh...@googlegroups.com
有个神器叫valgrind 。。。


2014/1/19 李帅 <lishua...@gmail.com>

zodiac lee

unread,
Jan 22, 2014, 1:46:03 AM1/22/14
to sh...@googlegroups.com
如果 valgrind 的话,这篇[1]写的挺生动好懂的.内存检测,查看堆分配情况,函数调用情况.等工具.感觉对于诊断程序挺有帮助的.

---
[1] http://www.osfans.org/category/tools/ 让程序飞系列

Liu Cheng

unread,
Jan 22, 2014, 1:52:16 AM1/22/14
to sh...@googlegroups.com
来给个靠谱的
http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html
valgrind查内存泄露挺好,但分析还是不够给力

2014/1/22 zodiac lee <zodia...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages