1. Jvisualvm.exe
2. jprofile
3. Heap //permgen monitor
作者::老哇的爪子Attilax艾龙,EMAIL:[email protected]
转载请注明来源: http://blog.csdn.net/attilax
4. Thread
1.jps:查看当前执行着的java进程(仿linux下的ps),显示进程号
2. jinfo: 查參数jinfo -flagPermSize 2208(进程号)
3. jconsole 2208
JConsole
JConsole能够图形化查看JVM中内存的变化状况,JConsole是JDK 5及以上版本号中自带的工具。位于JDK的bin文件夹下,执行时直接执行JConsole.exe或JConsole.sh(要求支持图形界面)。在本地的 Tab页上看到执行了java的pid。双击就可以查看对应进程的JVM状况。同一时候。JConsole也支持查看远程的JVM的执行状况,详细可參见 JConsole的User Guide。
JConsole中显示了JVM中非常多的信息:内存、线程、类和MBean等。在打开JConsole的内存Tab页后。可看到JVM内存部分的执行状况。这对于分析内存是否有溢出及GC的效果更加直接明了,JConsole的执行效果如图2所看到的。
4. jstack 2208列出全部线程,以及线程的执行状态
5. jstat -gcutil 2208 1000(每隔1000毫秒打印一次信息) 10(打印10行)
6. jmap把虚拟机里执行着的全部文件都down下来,相当于快照
7. JMap是JDK中自带的一个用于分析JVM内存状况的工具。位于JDK的bin文件夹下。
使用JMap可查看眼下JVM中各个代的内存状况、JVM中对象的内存的占用状况。以及导出整个JVM中的内存信息。
8. 7. jhat 对jmap下来的文件进行分析,多个角度
7. Eclipse Memory Analyzer
Eclipse Memory Analyzer是Eclipse提供的一个用于分析jvm堆dump文件的插件。借助这个插件可查看对象的内存占用状况、引用关系、分析内存泄露等。
Eclipse Memory Analyzer(MAT)的站点为:http://www.eclipse.org/mat/。在eclipse中能够直接远程安装此插件。只是因为此插件在分析堆dump文件时比較耗内存,因此在分析前最好先将eclipse的jvm的内存设置大一点。MAT分析dump文件后的对象占用内存及引用关系如图3所看到的
9.
參考
使用java自带工具监控jvm执行状态 - qileilove - BlogJava.htm
(impt。detail)JVM内存状况查看方法和分析工具 - xu1314的专栏 - 博客频道 - CSDN.NET.htm