jstat 使用实用教程
大概阅读5分钟,本教程非常实用,清晰案例展示,建议收藏
查询要监控的 java 进程号(pid)参考:https://javapub.blog.csdn.net/article/details/112383958
@[toc]
jstat 简介
Jstat 位于 java 的 bin 目录下,主要利用 JVM 内建的指令对 Java 应用程序的资源和性能进行实时的命令行的监控,包括了对 Heap size 和垃圾回收状况的监控。
Jstat 可以用来监视 VM 内存内的各种堆和非堆的大小及其内存使用量。
jstat -class pid:显示加载 class 的数量,及所占空间等信息。
jstat -compiler pid:显示 VM 实时编译的数量等信息。
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 次。
返回值:
截图:
参数详细解析
详细说明使用方法,简单易懂 -class
类加载器.
Loaded: 已加载类的数量.
Bytes: 已加载的内存数量,单位:kBs
Unloaded: 已卸载类的数量.
Bytes:已卸载的内存数量,单位:kBs
Time: 类加载和卸载的总时间.
-compiler
编译器.
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,白嫖原创电子书及实战项目
版权声明: 本文为 InfoQ 作者【JavaPub】的原创文章。
原文链接:【http://xie.infoq.cn/article/43ba4dd40b52dc809fd249c4e】。
本文遵守【CC BY-SA】协议,转载请保留原文出处及本版权声明。
评论