jstat 命令
一、概述
jstat(JVM Statistics Monitoring Tool) 是用于监视虚拟机各种运行状态信息的命令行工具
jstat 命令格式
jstat [option pid [interval] [count] ]
1 2 | // 每隔 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 | 输出已经被即时编译的方法 |
二、示例
1 2 | 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?