JavaShuo
栏目
标签
内存泄露排查
时间 2019-11-20
标签
内存
泄露
排查
繁體版
原文
原文链接
http://www.javashuo.com/article/p-nthaviyi-mu.html
浏览器
jps -l
查看虚拟机属于哪一个进程
jstat -gcutil 20954 1000
每1000毫秒查询一次,一直查。
gcutil的意思是已使用空间站总空间的百分比。
查询结果代表:这台服务器的
新生代Eden区(E,表示Eden)使用了28.30%(最后)的空间,
两个Survivor区(S0、S1,表示Survivor0、Survivor1)分别是0和8.93%,
老年代(O,表示Old)使用了87.33%。
程序运行以来共发生Minor GC(YGC,表示Young GC)101次,总耗时1.961秒,
发生Full GC(FGC,表示Full GC)7次,Full GC总耗时3.022秒,
总的耗时(GCT,表示GC Time)为4.983秒。
jmap -histo:live 20954
live 是可选参数,表明存活的对象
红线部分:
能够看出HashTable中的元素有5000多万,占用内存大约1.5G的样子。这确定不正常。
MAT 分析工具
补充jmap在线分析
jmap比较笼统,明显的问题能检查出来
修改MAT配置
MemoryAnalyzer.ini文件
Xmx参数,该参数表示最大内存占用量,默认为1024m
从jmap获取 .hprof 文件
jmap -dump:format=b,file=<dumpfile.hprof> <pid>
选择Leak Suspects Report, Finish就能够进入MAT分析页面的首页
在首页上比较有用的是Histogram和Leak Suspects
点击Leak Suspects会在堆转储文件同目录内生成一个
Leak Suspects.zip
文件,
同时也会从首页跳转到Leak Suspects页面
解压该文件后能够经过浏览器打开分析结果
Leak Suspects页面
从中找你熟悉的代码
点击Details进入详情页面
Shortest Paths To the Accumulation Point表示GC root到内存消耗汇集点的最短路径
All Accumulated Objects by Class列举了该对象所存储的全部内容
为了找到内存泄露,我获取了两个堆转储文件,两个文件获取时间间隔是一天
对比两个文件的对象,经过对比后的结果能够很方便定位内存泄露。
MAT同时打开两个堆转储文件,分别打开
Histogram
在下图中方框1按钮用于对比两个Histogram,对比后在方框2处选择Group By package,而后对比各对象的变化
-64的意思是,俩文件中该对象比对,前者比后者少了64个
我内存泄露位置是一个list,这个list只在这里一直不停的往里添加eventInfo对象,却没有释放过。
相关文章
1.
python内存泄露排查
2.
nodejs爬虫内存泄露排查
3.
内存泄露排查记录
4.
chrome dev-tools 内存泄露排查
5.
内存泄露问题排查
6.
内存泄露排查方法
7.
记一次内存泄露排查
8.
JS内存泄露排查方法
9.
内存泄露问题排查思路
10.
内存泄露排查之线程泄露
更多相关文章...
•
Redis内存回收策略
-
Redis教程
•
内存数据库是什么?
-
NoSQL教程
•
三篇文章了解 TiDB 技术内幕——说存储
•
算法总结-二分查找法
相关标签/搜索
泄露
内存泄漏
排查
内存
排查故障
问题排查
内部排序
内存管理
Redis教程
MyBatis教程
PHP 7 新特性
存储
技术内幕
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
子类对象实例化全过程
2.
【Unity2DMobileGame_PirateBomb09】—— 设置基本敌人
3.
SSIS安装以及安装好找不到商业智能各种坑
4.
关于 win10 安装好的字体为什么不能用 WebStrom找不到自己的字体 IDE找不到自己字体 vs找不到自己字体 等问题
5.
2019版本mac电脑pr安装教程
6.
使用JacpFX和JavaFX2构建富客户端
7.
MySQL用户管理
8.
Unity区域光(Area Light) 看不见光线
9.
Java对象定位
10.
2019-9-2-用自动机的思想说明光速
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
python内存泄露排查
2.
nodejs爬虫内存泄露排查
3.
内存泄露排查记录
4.
chrome dev-tools 内存泄露排查
5.
内存泄露问题排查
6.
内存泄露排查方法
7.
记一次内存泄露排查
8.
JS内存泄露排查方法
9.
内存泄露问题排查思路
10.
内存泄露排查之线程泄露
>>更多相关文章<<