jstat 命令

一、概述

jstat(JVM Statistics Monitoring Tool) 是用于监视虚拟机各种运行状态信息的命令行工具

jstat 命令格式

jstat  [option  pid  [interval]  [count]  ]

// 每隔 1000ms 采样一次查看 10086 进程的垃圾收集状况,总共采样 10 次,如果 interval 和 count 这两个参数省略则代表只采样一次
jstat -gcutil 10086 1000 10

常用的 jstat 选项

选项 作用
-class 监视类的卸载、卸载数量、总空间、类加载所耗费的时间
-gc 监视 Java 堆状况,包括 Eden、S0、S1、Old、方法区(jdk 8 之前是永久代,jdk 8 及以后为元空间)等的容量、已用空间;垃圾收集相关信息
-gccapacity 监视内容与 -gc 相同,但输出主要关注各个内存区域用到的最大、最小空间
-gcutil 监视内容与 -gc 相同,但输出主要关注已使用空间占总空间的百分比
-gccause 与 -gcutil 功能相同,但是会额外输出导致上一次垃圾收集产生的原因
-gcnew 监视新生代垃圾收集状况
-gcnewcapacitdy 监视内容与 -gcnew 基本相同,但输出主要关注使用到的最大、最小空间
-gcold 监视老年代垃圾收集状况
-gcoldcapacity 监视内容与 -gcold 基本相同,但输出主要关注使用到的最大、最小空间
-gcpermcapacity 输出永久代使用到的最大、最小空间
-compile 输出即时编译器编译过的方法、耗时等信息
-printcompilation 输出已经被即时编译的方法

 

二、示例

 S0      S1     E      O     P   YGC     YGCT     FGC    FGCT     GCT
23.13   0.00  75.98   7.33   �   4182   46.231     2    0.209   46.440

上述采样结果显示:

S0: S0 区使用了 23.13% 的空间

S1: S1 区暂未使用

E: Eden 区使用了 75.98%

O: Old 区使用了 7.33%

P: 当前 JDK 版本是 1.8,没有永久代,所以这里以 ? 作为占位符进行占位

YGC: 发生了 Young GC 4182 次

YGCT: Yount GC 总共花费 46.231 s

FGC: 发生了 2 次 Full GC

FGCT: Full GC 总共花费 0.209 s

GCT: Young GC + Full GC 总共花费的时间为 46.440 s

 

posted @ 2022-12-06 21:35  变体精灵  阅读(161)  评论(0编辑  收藏  举报