介绍几个java虚拟机性能监测工具

这些工具都在%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工具.功能不用多说.

 

转载请注明来自:http://blog.csdn.net/sunxing007

 

你可能感兴趣的:(Java基础)