Atitit.软件仪表盘(2)--vm子系统--资源占用监测
1. Jvisualvm.exe
2. jprofile
3. Heap //permgen monitor
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源: 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