jstat使用实用教程
大概阅读5分钟,本教程非常实用,清晰案例展示,建议收藏
- 查询要监控的 java 进程号(pid)参考:https://javapub.blog.csdn.net/article/details/112383958
@
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 次。
返回值:
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
截图:
参数详细解析
详细说明使用方法,简单易懂 -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,白嫖原创电子书及实战项目
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
· 大数据高并发核心场景实战,数据持久化之冷热分离
· 运维排查 | SaltStack 远程命令执行中文乱码问题
· 博客园众包平台:诚征3D影像景深延拓实时处理方案(预算8-15万)
· 发布一个小功能,通过 markdown 图片语法嵌入B站视频
· 《HelloGitHub》第 111 期
· 谷歌新AI工具杀疯了?免费,但有点坑!Gemini CLI 抢先实测
· Spring AI Alibaba 1.0 正式发布!核心特性速览+老项目升级指南