前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jstat使用实用教程

jstat使用实用教程

原创
作者头像
JavaPub
修改2021-01-11 09:58:05
2K0
修改2021-01-11 09:58:05
举报
文章被收录于专栏:JavaPub

`大概阅读5分钟,本教程非常实用,清晰案例展示,建议收藏`

- 查询要监控的 java **进程号**(pid)参考:[https://javapub.blog.csdn.net/article/details/112383958](https://javapub.blog.csdn.net/article/details/112383958)

@[toc]

## jstat简介

1. Jstat位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

2. Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。

3. jstat -class pid:显示加载class的数量,及所占空间等信息。

4. jstat -compiler pid:显示VM实时编译的数量等信息。

5. jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。

## Jstat命令格式

> jstat [optionsvmid [interval[s|ms] [count]]]

## 实例

#### 命令:

> jstat -gc -h3 6556 250 10

监控 gc ,每三行输出一次表头,监控的程序 pid 为 6556 ,没250ms 输出一次,一共 10 次。

#### 返回值:

```bash

S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

4096.0 5120.0 3984.0 0.0 61952.0 47543.9 173568.0 56.0 11648.0 11076.1 1408.0 1239.5 6 0.060 0 0.000 0.060

```

#### 截图:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210108212051999.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzc0NjA0,size_16,color_FFFFFF,t_70)

## 参数详细解析

> 详细说明使用方法,简单易懂 -class

类加载器.

Loaded: 已加载类的数量.

Bytes: 已加载的内存数量,单位:kBs

Unloaded: 已卸载类的数量.

Bytes:已卸载的内存数量,单位:kBs

Time: 类加载和卸载的总时间.

-compile

编译器.

Compiled: 编译任务的数量

Failed: 编译任务失败的数量.

Invalid: 无效的编译任务数量

Time: 所有编译任务所花时间总和.

FailedType: 最新一次失败编译任务的类型.

FailedMethod: 最新一次失败编译任务中的类名和方法

-gc

堆内存回收

S0C: 当前幸存者区0的容量 (kB).

S1C: 当前幸存者区1的容量(kB).

S0U: 幸存者区0已用内存 (kB).

S1U: 幸存者区1已用内存 (kB).

EC: 伊甸园区容量 (kB).

EU: 伊甸园区已用内存 (kB).

OC: 当前老旧区容量 (kB).

OU: 老旧区已用内存 (kB).

MC: 元数据区容量 (kB).

MU: 元数据区已用内存 (kB).

CCSC: 类压缩区容量 (kB).

CCSU: 类压缩区已用内存 (kB).

YGC: 新生垃圾回收事件数量.

YGCT: 新生垃圾回收时间.

FGC: 垃圾回收事件总和.

FGCT: 完整的一次垃圾回收时间.

GCT: 所有的垃圾回收时间.

欢迎关注笔者公众号:JavaPub,白嫖原创电子书及实战项目

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210108213743824.jpg)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档