jps
查看java进程的工具
参数 | 说明 |
---|---|
-q | 只输出进程ID |
-m | 输出传递给Java进程(主函数)的参数 |
-l | 输出主函数的完整路径 |
-v | 显示传递给Java虚拟的参数 |
jstat
查看Java程序运⾏时相关信息,可以通过它查看堆信息的相关情况
jstat -<options> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
参数如下:
参数 | 说明 |
---|---|
-class | 显示ClassLoader的相关信息 |
-compiler | 显示JIT编译的相关信息 |
-gc | 显示与GC相关信息 |
-gccapacity | 显示各个代的容量和使⽤情况 |
-gccause | 显示垃圾收集相关信息(同-gcutil),同时显示最后⼀次或当前正在发⽣的垃圾收集的诱发 |
-gcnew | 原因显示新⽣代信息 |
-gcnewcapacity | 显示新⽣代⼤⼩和使⽤情况 |
-gcold | 显示⽼年代信息 |
-gcoldcapacity | 显示⽼年代⼤⼩ |
-gcpermcapacity | 显示永久代⼤⼩ |
-gcutil | 显示垃圾收集信息 |
-printcompilation | 输出JIT编译的⽅法信息 |
-t | 在输出信息前加上⼀个Timestamp列,显示程序的运⾏时间 |
-h | 可以在周期性数据输出后,输出多少⾏数据后,跟着⼀个表头信息 |
interval | ⽤于指定输出统计数据的周期,单位为毫秒 |
count | ⽤于指定⼀个输出多少次数据 |
例:
jstat -gc 60104 500 4 # 500毫秒频率,采样数为4
字段含义:
S0C:年轻代中第⼀个survivor(幸存区)的容量 (字节)
S1C:年轻代中第⼆个survivor(幸存区)的容量 (字节)
S0U:年轻代中第⼀个survivor(幸存区)⽬前已使⽤空间 (字节)
S1U :年轻代中第⼆个survivor(幸存区)⽬前已使⽤空间 (字节)
EC :年轻代中Eden(伊甸园)的容量 (字节)
EU :年轻代中Eden(伊甸园)⽬前已使⽤空间 (字节)
OC :Old代的容量 (字节)
OU :Old代⽬前已使⽤空间 (字节)
MC:metaspace(元空间)的容量 (字节)
MU:metaspace(元空间)⽬前已使⽤空间 (字节)
CCSC:压缩类空间⼤⼩
CCSU:压缩类空间使⽤⼤⼩
YGC :从应⽤程序启动到采样时年轻代中gc次数
YGCT :从应⽤程序启动到采样时年轻代中gc所⽤时间(s)
FGC :从应⽤程序启动到采样时old代(全gc)gc次数
FGCT :从应⽤程序启动到采样时old代(全gc)gc所⽤时间(s)
GCT:从应⽤程序启动到采样时gc⽤的总时间(s)
jinfo
查看正在运⾏的java程序的扩展参数,甚⾄⽀持运⾏时,修改部分参数
jinfo [option] <pid>
参数 | 说明 |
---|---|
-flag <name> |
打印参数 |
-flag `[+ | -] |
-flag <name>=<value> |
设置参数 |
-flags | 打印所有参数 |
-sysprops | 打印java系统参数 |
例如:
jinfo -flag MaxHeapSize 60104
jmap
查看堆内存情况