jmap、 jhat 分析堆内存溢出

来源:互联网 发布:淘宝新店怎么增加流量 编辑:程序博客网 时间:2024/06/03 09:06
  1. 查看该进程下堆内存的使用情况
    jmap -heap 1963(进程号)

  2. 快速定位内存泄露的方法:
    jmap -histo:live 1963

jmap -histo:live 1963 >1.txt 将信息输出到指定文件中

这里写图片描述

可以找到造成内存溢出的具体方法。

3.还可以使用jhat分析内存溢出的原因
使用dump内存信息到heap.bin文件
jmap -dump:live,format=b,file=heap.bin 1963(进程号)
这里写图片描述

使用jhat 对heap.bin 文件进行分析
jhat -J-mx512m heap.bin 如果解析过程中出现内存不足,需要加大内存如:jhat -J-mx800m heap.bin

这里写图片描述

在通过浏览器访问 http://192.168.5.105:7000/ 即可看到分析结果

4.jstat 监视垃圾回收(GC)时间,次数
这里写图片描述

S0: 幸存区0
S1: 幸存区1
E:年轻代
O:年老代
M:持久代
(以上都是已使用所占百分比)

YGC : 年轻代YGC的次数
YGCT :年轻代YGC所消耗的时间
FGC : 年老代full GC的次数
FGCT :年老代full GC所消耗的时间
GCT : 用于GC所消耗的总时间

jstat动态查看垃圾回收的情况:
这里写图片描述

每隔3s钟采集一次数据,采集10次。

0 0
原创粉丝点击