您的位置:首页 > 编程语言 > Java开发

java内存分析工具

2017-01-23 20:30 267 查看
1. jstat
http://blog.csdn.net/fenglibing/article/details/6411951 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
2. 分析栈内存(stack)

jstack/kill -3
http://jameswxx.iteye.com/blog/1041173
3. 分析堆内存(heap)

jmap + jhat。
http://www.cnblogs.com/diyunpeng/archive/2011/06/10/2077369.html
4. Dump JAVA堆

由于出现问题时,往往是不能够重启服务器时,这时需要我们以最快的速度将dump文件拿到。

最快速方法:

1、通过ps aux | grep java找到java的pid。

2、gcore pid

3、将core文件转化为dump文件

jmap -dump:format=b,file=dump.hrof /opt/jdk1.7.0_55/bin/java core.22687

传统方法:

1、运行命令jmap -dump:live,format=b,file=heap.bin pid 将内存dump下来。

2、找到可疑对象

将dump文件导入到mat工具里,并分析可疑对象,运气好的时候往这一步就可以找到项目里的异常对象。

3、详细分析

通过dominator视图过滤关心的对象。

4、通过OQL语句分析,并将可疑类的所有对象内存导出并计算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: