脚本宝典收集整理的这篇文章主要介绍了java程序高内存查看实践,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。@H_777_0@
1、top命令:Linux命令。可以查看实时的内存使用情况。 然后使用大写M
进程按照内存使用排序如图:
2、jmap -histo:live [pid],然后分析具体的对象数目和占用内存大小,从而定位代码。
jmap -histo:live 9823 | head -n 100 // 查询前100个内存使用过高的java类
结果如图:
从结果上看String 类使用内存过高,可以检测一下代码中String 使用情况。这里只是我测试服的情况,小伙伴可以查看自己服务器上java程序的内存使用情况。
B byte C char D double F float I int J long Z boolean [ 数组,如[I表示int[] [L+类名 其他对象
3、jmap -dump:live,format=b,file=xxx.xxx [pid],然后利用MAT工具分析是否存在内存泄漏等等。
jmap -dump:live,format=b,file=servermem.bin 9823
把这个bin文件dump下来使用MAT工具进行分析,如何使用下章讲解。
说明:由于环境不一样测试的结果很可能不一样哦
[小福利:]推荐一个非常好用的商业java分析工具 jProfile
以上是脚本宝典为你收集整理的java程序高内存查看实践全部内容,希望文章能够帮你解决java程序高内存查看实践所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。