打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java程序内存分析:JMap与Eclipse Memory Analyzer - COD...
Java程序内存分析:JMap与Eclipse Memory Analyzer
当程序中内存使用过多,或者存在内存泄露时,经常会报OutOfMemory错误。很多时候,尤其是在生产环境中,不得不马上重启服务,导致现场丢失,无法查找问题所在。
其实jdk中自带了很多分析监控工具,jmap就是其中之一。
当程序出现问题,先不要停止服务,先用ps看一下java的pid, 然后运行命令将内存导出来:
[Copy to clipboard]View Code BASH
/usr/local/jdk1.6.0_20/bin/jmap -dump:format=b,file=/dir/heap.bin
这个heap.bin就是当前内存中的内容。如果很大,可以用gzip压缩一下。
此时就有很多工具来分析heap.bin了,我使用的是eclipse memory analyzer 。具体使用方法比较简单,里面可以看到每个对象的占用情况。
上两个我的程序出问题时的截图:
通过这两个图,很容易就定位出了Cache里的filter变量有问题。
我的实践中,改进之后,内存占用从1G下降到了60多M。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[Java基础] 使用JMAP dump及分析dump文件
VC:内存溢出(HEAP: Free Heap block ×××modified at ×××after it was freed)
利用JMAP+MAT分析Java Heap Dump
查看 JVM 内存的几个工具,建议收藏!
谈谈malloc
稳定性的海因里希法则
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服