Linux进程内存占用情况查看
1:通过pmap命令查看进程中某个起始地址内存占用持续增长
通过比对不同时间的pmap输出结果,发现000000000078f000起始地址的内存地址内存持续增长
复制代码
1
2
3
4
5
6
7
8
9
10
11pmap -x 26351 26351: ruby test.rb Address Kbytes RSS Dirty Mode Mapping 0000000000400000 4 4 0 r-x-- ruby 0000000000600000 4 4 4 rw--- ruby 000000000078f000 8308 8200 8200 rw--- [ anon ] 0000003434800000 128 116 0 r-x-- ld-2.12.so ---------------- ------ ------ ------ total kB 168724 12456 8620
2:获取结束地址
根据持续增长的内存地址起始地址,得到其内存地址的结束地址0078f000-00f28000
复制代码
1
2
3
4
5cat /proc/26351/maps 00400000-00401000 r-xp 00000000 08:03 832052 /usr/local/bin/ruby 00600000-00601000 rw-p 00000000 08:03 832052 /usr/local/bin/ruby 0078f000-00f28000 rw-p 00000000 00:00 0 [heap]
3:gdb dump内存
起始地址,结束地址前需要加上0x
复制代码
1
2
3
4
5gdb --batch-silent --eval-command 'dump memory /tmp/test 0x7fe3fc000000 0x7fe4036a0000' -p 9395 gdb --batch-silent --eval-command 'dump memory /tmp/test 0x7f18e4000000 0x7f18e8000000' -p 7f18e4000000-7f18e8000000
4:格式化dump内存文件,分析结果
复制代码
1
2strings /tmp/test | more
复制代码
1
2
3r = {}; `strings /tmp/test`.split("n").each{|x| r.has_key?(x) ? r[x] +=1 : r[x] = 1}; '' r.sort_by{|k,v| v}.reverse[0..50]
参考文件:
ruby内存分配: https://www.jianshu.com/p/e4f184e92375
最后
以上就是勤奋水池最近收集整理的关于linux进程内存查看Linux进程内存占用情况查看的全部内容,更多相关linux进程内存查看Linux进程内存占用情况查看内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复