这些工具都在%JDK_HOME%/bin下. JDK5.0以上基本都有这些工具.
jconsole : 是一个图形化的工具, 可以连接至本地或remote的虚拟机, 提供实时的性能视图和资源消耗信息. 不过 如果想连接到weblogic server所使用的虚拟机, 需加启动参数: -Dcom.sun.management.jmxremote. 为了连接至远 程weblogic server, 还需加启动参数:-Dcom.sun.management.jmxremote.port = portNo, JConsole远程连接往往是诊断产品环境所必须的.
jps : 是一个命令行的工具, 可列出所有的正在运行的虚拟机及其ID.
更多jps用法请参看:http://download-llnw.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html
jstat : 是一个命令行的工具, 它可以有如下一些option:
-class: 统计类加载情况;
-compiler: 统计Just-in-time编译情况;
-gc/-gcutil: 统计内存回收;
......
例如: jstat -gc 472 472是jps命令所列出来的jvmid. 如果你没有了解过分代垃圾回收原理,这个表可能不大看得懂, 请参看:http://topic.csdn.net/u/20090602/10/bd9d4ba2-dbeb-49b3-8651-67c5de2b228a.html?seed=1605523539 和http://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspx ;
各个字段的含义:
S0C: S0区大小
S1C: S1区大小
S0U: S0区利用率
S1U: S1区利用率
EC: Eden区大小
EU: Eden区利用率
OC: Old区大小
OU: Old区利用率
PC: Permanent区大小
PU: Permanent区利用率
YGC: 年轻区gc次数
YGCT: 年轻区gc花费的时间
FGC: 全局gc次数
FGCT: 全局GC时间
GCT: 总的gc时间
又如: jstat -gcutil 472 3000 6, 每3秒统计一下472号虚拟机. 字段含义就不细说了.
更多关于gstat的信息请参考: http://download.oracle.com/javase/6/docs/technotes/tools/share/jstat.html
jvisualvm : 我看到这个工具带在jdk1.6.0_07中.是一个GUI工具.功能不用多说.