JDK调优命令行工具


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

查看堆内存情况

文章作者: 周君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 周君 !
评论