命令基于Sun JDK,用于监控和诊断HotSpot的java 虚拟机。 对应的可执行文件位于$JAVA_HOME/bin/下
jps-虚拟机进程状况工具
选项 |
作用 |
-q |
只输出LVMID,同进程pid |
-m |
输出JVM启动时传给主类main()的参数。 |
-l |
输出主类全名。如果进程执行的是jar包,则输出包名。 |
-v |
输出JVM启动时JVM参数。 |
jstat-虚拟机统计信息监视工具
命令格式
jstat [ option vmid [interval[s|ms] [count]] ]
interval代表查询间隔,可以指定时间单位为s或ms,默认为ms。
选项 |
作用 |
-class |
监视类装载、卸载数量,字节数,以及类装载所耗费的时间。 |
-gc |
监视java堆状况,包括Eden区,Survivor区,Old区,Perm区的容量,已使用容量及YGC,FGC发生的次数及耗费的时间。 |
-gccapacity |
监视Java堆各个区的最大,最小使用容量及配置容量。 |
-gcutil |
监视Java堆各个区的空间使用百分比及YGC,FGC发生的次数及耗费的时间。 |
-gccause |
同-gcutil功能相同,额外输出上一次GC产生的原因。 |
-compiler |
输出JIT编译器编译过的方法个数,耗时等信息。 |
-printcompilation |
输出已经被JIT编译的方法 |
jinfo-Java配置信息工具
<no option> |
打印命令行参数及系统属性。 |
-flag name |
打印给定name对应的命令行参数值。 |
-flag [+|-]name |
更改boolean类型的命令行参数值 |
-flag name=value |
更改name对应的命令行参数值为value。 |
-flags |
打印传给JVM的命令参数值。 |
-sysprops |
打印系统属性值。 |
jmap-java内存映像工具
-dump |
生成dump文件,格式为:-dump:[live,]format=b,file=<filename>,其中live表示先做GC然后再做dump文件,即只dump活的对象。 |
-finalizerinfo |
显示在F-Queue中等待Finalizer线程执行finalize方法的对象。Only for Linux。 |
-heap |
显示Java堆栈详细信息,例如GC收集器,参数配置,JVM内存分区情况。Only for Linux。 |
-histo |
显示堆中对象的统计信息,包括类、实例数量、容量大小。 |
-permstat |
按照ClassLoader统计Perm区的内存状态。Only for Linux。 |
-F |
与-dump参数一起使用,强制生成dump文件。 |
jhat-dump文件分析工具
选项 |
作用 |
-port |
指定http启动的端口,默认7000 |
-J<flag> |
指定传给jhat JVM的参数,-J-Xmx512m表示jhat进程最大堆大小为512m。 |
jstack-java堆栈跟踪工具
选项 |
作用 |
-F |
当正常输出请求得不到响应时,强制输出堆栈信息。 |
-l |
除堆栈外,显示关于锁的附加信息。 |
-m |
如果调用native方法,则可以打出c/c++的线程堆栈。 |