一、 JPS(虚拟机进程状况工具)
JPS(JVM Process Status Tool),其功能和unix中的ps命令类似,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称,以及这些进程的本地虚拟机的唯一ID(LVMID, Local Virtual Machine Identifier)。
jps命令格式:jps [ option ] [ hostid ]
jps工具主要选项
选项 | 作用 |
-q | 只输出LVMID,省略主类的名称 |
-m | 输出虚拟机进程启动时传递给主类main()函数的参数 |
-l | 输出主类的全名,如果进程执行的是jar包,输出jar包地址 |
-v | 输出虚拟机进程启动时的JVM参数 |
二、 jstat(虚拟机统计信息监视工具)
jstat(JVM Statistics Monitoring Tool),用于监视虚拟机各种运行状态信息的命令行工具。可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,是运行期定位虚拟机性能问题的首选工具。
Jstat命令格式:jstat [ option vmid [ interval [s|ms] [count] ] ]
常见参数的有: -class (类加载器) -compiler (JIT) -gc (GC堆状态) -gccapacity (各区大小) -gccause (最近一次GC统计和原因) -gcnew (新区统计) -gcnewcapacity (新区大小) -gcold (老区统计) -gcoldcapacity (老区大小) -gcpermcapacity (永久区大小) -gcutil (GC统计汇总) -printcompilation (HotSpot编译统计)
jstat工具主要选项
选项 | 作用 |
-class | 监视类的装载数量、卸载数量、总空间及类装载所耗费的时间 |
-gc | 监视java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息 |
-gccapacity | 与-gc略同,但输出主要关注java堆各个区域使用到的最大和最小空间 |
-gcutil | 与-gc略同,但输出主要关注已使用空间占总空间的百分比 |
-gccause | 与gcutil功能一样,但会额外输出导致上一次GC产生的原因 |
-gcnew | 监视新生代GC状况 |
-gcnewcapacity | 与-gcnew略同,输出主要关注使用到的最大和最小空间 |
-gcold | 监视老年代GC状况 |
-gcoldcapacity | 与-gcold略同,输出主要关注使用到的最大和最小空间 |
-gcpermcapacity | 输出永久使用到的最大和最小空间 |
-compiler | 输出JIT编译器编译过的方法、耗时等信息 |
-printcompilation | 输出已经被JIT编译的方法 |
例如:每250ms查询一次进程的垃圾收集情况,一共查询20次
linux-3hm8:~ # jstat -gc 19017 250 10 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 35200.0 35008.0 0.0 26101.4 454016.0 49097.6 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 50844.6 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 50844.6 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51543.3 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51543.3 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51892.5 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51892.5 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51892.5 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 51892.5 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 35200.0 35008.0 0.0 26101.4 454016.0 52245.6 1048576.0 809350.0 63552.0 63509.3 173 9.776 2 7.223 16.999 |
E(Eden):新生代。S0、S1(Survivor区):Survivor0、Survivor1。O:老年代。P:永久代。YGC:Young GC次数。YGCT: Young GC总耗时。FGC:Full GC次数。FGCT:Full GC总耗时。GCT:GC总耗时。