jstat命令详解

作用

jstat的主要作用就是对Java应用程序的资源和性能进行实时监控的命令行工具,主要包括GC情况和Heap Size资源使用情况。

jstat命令格式

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

参数解释:

  1. option 常见的都是使用-gcutil查看gc情况,其他可选项见下图。
  2. vmid : VM的进程号,即当前运行的java进程号。
  3. interval : 间隔时间,单位为秒或毫秒
  4. count:打印次数,如果缺省则打印无数次。

option选项代表着用户希望查询的虚拟机信息,主要分为3类:类加载、垃圾收集和运行期编译状况。具体选项见下图:

参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。假设需要每250毫秒查询一次进程5828垃圾收集状况,一共查询5次,那命令行如下:

jstat -gc 5828 250 5

垃圾回收统计

查看gc的统计信息,关注点 主要是 已使用/总空间的占比情况。

jstat -gcutil 31798

运行截图(JDK1.8):

参数含义:

参数 描述
S0 年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
s1 年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E 年轻代中Eden已使用的占当前容量百分比
O old代已使用的占当前容量百分比
M 元空间(MetaspaceSize)已使用的占当前容量百分比
CCS 压缩使用比例
YGC 年轻代垃圾回收次数
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收消耗时间
GCT 垃圾回收消耗总时间

堆内存使用情况统计

单位KB。

jstat -gccapacity  3400 20 20

运行截图(JDK1.8):

参数 描述
NGCMN 新生代最小容量
NGCMX 新生代最大容量
NGC 当前新生代容量
S0C 第一个幸存区大小
S1C 第二个幸存区的大小
EC 伊甸园区的大小
OGCMN 老年代最小容量
OGCMX 老年代最大容量
OGC 当前老年代大小
OC 当前老年代大小
MCMN 最小元数据容量
MCMX 最大元数据容量
MC 当前元数据空间大小
CCSMN 最小压缩类空间大小
CCSMX 最大压缩类空间大小
CCSC 当前压缩类空间大小
YGC 年轻代gc次数
FGC 老年代GC次数

类加载统计

jstat -class 3400 1000 100
参数 描述
Loaded 加载class的数量
Bytes 所占用空间大小
Unloaded 未加载数量
Bytes 未加载占用空间
Time 时间

更多操作

java高分局之jstat命令使用
官方文档

posted @ 2017-12-27 20:33  做个有梦想的咸鱼  阅读(14363)  评论(1编辑  收藏  举报