JDK自带小工具汇总

时间:2022-12-24 09:09:43

1、 jps -l  (全称JVM Process Status Tool)输出主类的全名,如果是jar包,输出jar包的全路径,如下:

JDK自带小工具汇总

2、jstat(JVM Statics Monitoring Tool)

   jstat -gc pid  time times【可以先用ps -ef|grep java找出对应的线程ID】查看的是总量

   jstat -gc 22866 300 5   表示每隔300ms查看线程22866的垃圾回收情况,一共打印5次,如下图

JDK自带小工具汇总

 S0C     S1C      S0U     S1U      EC                EU                  OC                  OU            PC            PU          YGC    YGCT    FGC    FGCT     GCT
1152.0 1152.0   800.0     0.0    696704.0         580419.4       1398144.0         416929.5    150656.0   150633.7    126      5.189        0        0.000     5.189

S0C表示Survivor0空间的大小,单位KB

S1C表示Survivor1空间的大小,单位KB

S0U表示Survivor0已用空间的大小,单位KB

S1U表示Survivor1已用空间的大小,单位KB

EC表示Eden空间的大小,单位KB

EU表示Eden已用空间的大小,单位KB

OC表示老年代空间的大小,单位KB

OU表示老年代已用空间的大小,单位KB

PC表示永久代空间的大小,单位KB

PU表示永久代已用空间的大小,单位KB

YGC表示新生代空间GC发生的次数

YGCT表示新生代空间GC处理花费的时间

FGC表示fullGC发生的次数

FGCT表示fullGC处理花费的时间

GCT表示GC操作花费的总时间

3、jstat -gcutil 22866  2000  3   表示每隔2000ms查看线程22866已用空间占总空间的百分比,一共打印3次,如下图
JDK自带小工具汇总

  S0         S1        E        O         P     YGC     YGCT    FGC    FGCT     GCT   
  0.00 100.00  82.98  29.83  99.99    127       5.204       0        0.000    5.204

查询结果表明:此台服务器的新生代Eden区使用了82.98%的空间,SO是空的,S1已使用100%,老年代和永久代分别使用了29.83%和99.99%,程序运行以来共发生YGC127次,总耗时5.204秒;没有发生过full GC。所有GC总耗时为5.204秒。

4、jstack (Stack Trace for Java)

jstack -F 22866 表示正常输出的请求不被响应时,强制输出堆栈的信息

JDK自带小工具汇总

jstack -l 22866  表示除堆栈外,显示锁的附加信息

JDK自带小工具汇总

jstack -m 22866 表示如果调用到本地方法话,可以显示C/C++的堆栈

JDK自带小工具汇总