注意:若是读者在工做中须要监控运行于JDK1.5的虚拟机之上的程序,在程序启动时请添加参数“-Dcom .sun .management .jmxremote”开启JMX管理功能,不然因为部分工具都是基于JMX(包括4.3节介绍的可视化工具),它们都将会没法使用,若是被监控程序运行于JDK1.6的虚拟机之上,那JMX管理默认是开启的,虚拟机启动时无须再添加任何参数。java
jps:虚拟机进程情况工具jsp
列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机惟一ID函数
jsp命令格式:jps[options][hostid]工具
C:\Users\hy>jps -l
108660 C:\Users\hy\AppData\Local\Temp\pul7D78.tmp\PULSEI~1.JAR
181688 sun.tools.jps.Jps命令行
jstat:虚拟机统计信息监视工具server
用于监视虚拟机各类运行状态信息的命令行工具。它能够显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据进程
jstat命令格式为:jstat[option vmid[interval[s|ms][count]]]对于命令格式中的VMID与LVMID须要特别说明一下:若是是本地虚拟机进程,VMID与LVMID是一致的,若是是远程虚拟机进程,那VMID的格式应当是:[protocol:][//]lvmid[@hostname[:port]/servername]内存
参数interval和count表明查询间隔和次数,若是省略这两个参数,说明只查询一次。假设须要每250毫秒查询一次进程2764垃圾收集情况,一共查询20次,那命令应当是:jstat-gc 2764 250 20rem
jinfo:Java配置信息工具get
jinfo(Configuration Info for Java)的做用是实时地查看和调整虚拟机各项参数。使用jps命令的-v参数能够查看虚拟机启动时显式指定的参数列表,但若是想知道未被显式指定的参数的系统默认值,除了去找资料外,就只能使用jinfo的-flag 选项进行查询了(若是只限于JDK1.6或以上版本的话,使用java-XX:+PrintFlagsFin al查看参数默认值也是一个很好的选择),jinfo还能够使用-sysprops选项把虚拟机进程的System .getProperties()的内容打印出来。这个命令在JDK 1.5时期已经随着Linux 版的JDK发布,当时只提供了信息查询的功能,JDK1.6以后,jinfo在Windows和Linux 平台都有提供,而且加入了运行期修改参数的力,能够使用-flag[+|-]name或者-flag name=value修改一部分运行期可写的虚拟机参数值。JDK 1.6中,jinfo对于Windows平台功能仍然有较大限制,只提供了最基本的-flag 选项。
jinfo命令格式:jinfo[option]pid
jmap:Java内存映像工具