我是靠谱客的博主 勤奋水池,最近开发中收集的这篇文章主要介绍linux进程内存查看Linux进程内存占用情况查看,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Linux进程内存占用情况查看

1:通过pmap命令查看进程中某个起始地址内存占用持续增长

通过比对不同时间的pmap输出结果,发现000000000078f000起始地址的内存地址内存持续增长

pmap -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

cat /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

gdb --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内存文件,分析结果
strings /tmp/test  | more
r = {}; `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进程内存占用情况查看所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部