线上频繁Full Gc 问题排查
1.首先用top命令,观察cpu占用情况,同时确定pid

2.查看该进程的gc状态 jstat -gc 22283 5000 ===每5 秒一次显示进程号为 12538的 java进成的 GC情况,结果如下图:
3. jmap -heap 22283 查看各个代的内存使用以及jvm 配置

4.查看对象情况,确定大对象,jmap -histo 22283 > /tmp/log1.txt less log1.text

5.导出整个JVM 中内存信息
jmap -dump:format=b,file=/tmp/log33.dump 22283
sz log44.dump
下载到本地
6.利用以下工具进行分析
jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况
jhat -J-Xmx1024M [file]
执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000
eclipse Memory Analyzer
Eclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。

浙公网安备 33010602011771号