jdk命令行工具
1.jps
虚拟机进程状态工具
常用的几个参数:
-l 输出Java应用程序的main class的完整包
-q 仅显示pid,不显示其它任何相关信息
-m 输出传递给main方法的参数
-v 输出传递给JVM的参数。在诊断JVM相关问题的时候,这个参数可以查看JVM相关参数的设置
2.jstat
虚拟机统计信息监视工具
C:\Program Files\Java\jdk1.8.0_91\bin>jstat -gcutil 1676
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 100.00 53.66 80.08 91.20 81.37 72 2.443 0 0.000 2.443
C:\Program Files\Java\jdk1.8.0_91\bin>jstat -gc 1676
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
0.0 6144.0 0.0 6144.0 83968.0 53248.0 172032.0 137768.9 173184.0 157951.9 23168.0 18851.1 72 2.443 0 0.000 2.443
堆内存 = 年轻代 + 年老代 + 永久代
年轻代 = Eden区 + 两个Survivor区(From和To)
S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)
EC、EU:Eden区容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGCT:年轻代GC次数和GC耗时
FGC、FGCT:Full GC次数和Full GC耗时
GCT:GC总耗时
3 jinfo
java配置信息工具
观察运行中的java程序的运行环境参数:参数包括Java System属性和JVM命令行参数
实例:jinfo 2083
其中2083就是java进程id号,可以用jps得到这个id号。
输出内容太多了,不在这里一一列举,大家可以自己尝试这个命令。
4 jmap Java内存映像工具
jmap(Memory Map)和 jhat(Java Heap Analysis Tool)
jmap用来查看堆内存使用状况,一般结合jhat使用。