JVM运行情况分析-如何输出堆Thread、Heap Dump及分析

来源:互联网 发布:知中.竹林七贤pdf 编辑:程序博客网 时间:2024/04/28 07:39

1. Linux通用输出线程和堆Dump的方法

kill -3 <pid> 

说明:不同JVM下要输出堆dump还需要在启动JVM时特殊设置,分别如下

1)IBM JVM

IBM_HEAPDUMP=true
export IBM_HEAPDUMP
IBM_HEAPDUMP_OUTOFMEMORY=true
export HEAPDUMP_OUTOFMEMORY

2)Jrockit JVM 1.5+

具体请见:http://docs.oracle.com/cd/E15289_01/doc.40/e15062/toc.htm

3)Sun JVM


2. SUN JDK1.5以上输出堆Dump

1) JAVA_HOME/bin/jmap -dump:live,format=b,file=<outfilepath> <PID>     //PID为进程号,outfilepath为输出文件路径及文件名称。

2) jvisualvm 这个功能更强大。


3. 分析SUN JDK1.5以上输出堆Dump

JAVA_HOME/bin/jhat -J-mx768m -port <端口号:默认为7000> <heap_dmp_file>    //heap_dump_file为jmap输出的dump文件。

命令执行后会开启一个web服务,通过浏览器输入本机地址就可以查看堆分析情况。


原创粉丝点击