网站首页 > 技术文章 正文
来源:https://my.oschina.net/lowkeysoft/blog/1821826
作用
jstat 工具用于检测到的 Java 虚拟机 (JVM) 的性能统计信息,比如GC、内存大小、编译时间等。
命令格式
jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]
generalOption:
jstat -help|-options
执行 jstat -options命令后各个选项,见下面
选项描述-class类加载行为的统计信息-compiler即时编译热点行为的统计-gc堆行为的统计-gcutil和GC一样,但输出主要关注已使用空间占总空间的百分比-gccapacityJava堆各个区域使用到的最大和最小空间-gccause垃圾回收统计信息 (和 gcutil 相同) , 最后和当前 垃圾回收事件-gcmetacapacity输出永久代使用到的最大和最小空间-gcnew新生代的统计-gcnewcapacity同上,顺带输出主要关注使用到的最大和最小空间-gcold年老代和永生代行为统计-gcoldcapacity年老代行为统计-printcompilation输出已经被JIT编译的方法
outputOptions:
一个或多个输出选项, 包括单个 stat选项, 加上任何-t、h 和 J 选项
vmid:
虚拟机标识符 进程id
ps -ef | grep java
或者
jps -l
interval:
采样间隔在指定的单位,秒(s)或毫秒(ms)。默认单位是毫秒。必须是正整数。如果指定,JSTAT将在每个间隔产生其输出
count:
显示的次数。默认值是无穷大;也就是说,JSTAT显示统计数据,直到目标JVM终止或JSTAT命令终止。必须是正整数
例子
-class选项
输入
jstat -class 29271 1000 20
输出
Loaded Bytes Unloaded Bytes Time
22182 42401.0 638 847.4 39.52
22182 42401.0 638 847.4 39.52
列描述loaded已经装载的数据量bytes装载的字节数unloaded卸载类的数量bytes卸载类的字节数time装载和卸载所花费的时间
-compiler选项
输入
jstat -compiler 29271 1000 20
输出
Compiled Failed Invalid Time FailedType FailedMethod
6663 3 0 108.64 1 org/apache/jasper/xmlparser/ParserUtils convert
6663 3 0 108.64 1 org/apache/jasper/xmlparser/ParserUtils convert
列描述Compiled编译任务执行数量Failed编译任务执行失败的数量Invalid失效的数量Time花费的时间FailedType失败任务的类型FailedMethod失败任务的方法
-gc选项
输入
jstat -gc 29271 1000 20
输出
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
4096.0 4096.0 0.0 3088.4 691200.0 85378.5 1398272.0 337712.4 262144.0 121554.1 25374 413.439 7 5.536 418.975
4096.0 4096.0 0.0 3088.4 691200.0 85727.0 1398272.0 337712.4 262144.0 121554.1 25374 413.439 7 5.536 418.975
列描述S0C第一个survivor的容量S1C第二个survivor的容量S0U第一个survivor的使用情况S1U第二个survivor的使用情况ECEden区的总容量EUEden区已使用的容量OCOld区的总容量OUOld区已使用的容量PC当前perm的容量 (KB)PUperm的使用 (KB)YGC新生代垃圾回收次数YGCT新生代垃圾回收时间FGC老年代垃圾回收次数FGCT老年代垃圾回收时间GCT垃圾回收总消耗时间
-gcutil选项
输入
jstat -gcutil 29271 1000 20
输出
S0 S1 E O P YGC YGCT FGC FGCT GCT
83.70 0.00 62.04 24.11 46.37 25373 413.423 7 5.536 418.958
83.70 0.00 62.06 24.11 46.37 25373 413.423 7 5.536 418.958
列描述S0第一个survivor的容量S1第二个survivor的容量EEden区的总容量OOld区的总容量P当前perm的容量 (KB)YGC新生代垃圾回收次数YGCT新生代垃圾回收时间FGC老年代垃圾回收次数FGCT老年代垃圾回收时间GCT垃圾回收总消耗时间
-gccapacity选项
输入
jstat -gccapacity 29271 1000 20
输出
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
699392.0 699392.0 699392.0 4096.0 4096.0 691200.0 1398272.0 1398272.0 1398272.0 1398272.0 262144.0 262144.0 262144.0 262144.0 25374 7
699392.0 699392.0 699392.0 4096.0 4096.0 691200.0 1398272.0 1398272.0 1398272.0 1398272.0 262144.0 262144.0 262144.0 262144.0 25374 7
列描述NGCMN年轻代初始容量(kb)NGCMX年轻代最大容量(kb)NGC年轻代当前容量S0C幸存区1当前容量 (KB)S1C幸存区2容量 (KB)EC伊甸区容量OGCMN老年代初始容量(kb)OGCMX老年代最大容量(kb)OGC当前老年代容量OCOld代的容量PGCMNperm代中初始化(最小)的大小PGCMXperm代的最大容量PGCperm代的当前容量PC持久代容量YGCyfc次数FGCfgc次数
-gccause选项
输入
jstat -gccause 29271 1000 20
输出
S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
0.00 75.40 72.95 24.15 46.37 25374 413.439 7 5.536 418.975 Allocation Failure No GC
0.00 75.40 73.03 24.15 46.37 25374 413.439 7 5.536 418.975 Allocation Failure No GC
列描述S0第一个survivor的容量S1第二个survivor的容量EEden区的总容量OOld区的总容量P当前perm的容量 (KB)YGC新生代垃圾回收次数YGCT新生代垃圾回收时间FGC老年代垃圾回收次数FGCT老年代垃圾回收时间GCT垃圾回收总消耗时间LGCC最近垃圾回收的原因GCC当前垃圾回收的原因
-gcnew选项
输入
jstat -gcnew 29271 1000 20
输出
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
4096.0 4096.0 0.0 3088.4 1 15 4096.0 691200.0 588124.7 25374 413.439
4096.0 4096.0 0.0 3088.4 1 15 4096.0 691200.0 588759.6 25374 413.439
列描述S0C第一个survivor的容量S1C第二个survivor的容量S0U第一个survivor的使用情况S1U第二个survivor的使用情况TT最大持有次数限制MTT第二个survivor的使用情况DSS期望的幸存者大小ECEden区的总容量EUEden区已使用的容量YGC新生代垃圾回收次数YGCT新生代垃圾回收时间
-gcnewcapacity选项
输入
jstat -gcnewcapacity 29271 1000 20
输出
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
699392.0 699392.0 699392.0 232960.0 4096.0 232960.0 4096.0 698368.0 691200.0 25374 7
699392.0 699392.0 699392.0 232960.0 4096.0 232960.0 4096.0 698368.0 691200.0 25374 7
列描述NGCMN年轻代初始容量(kb)NGCMX年轻代最大容量(kb)NGC年轻代当前容量S0CMX幸存区1最大容量 (KB)S0C幸存区1当前容量 (KB)S1CMX幸存区1最大容量 (KB)S1C幸存区2容量 (KB)ECMX伊甸区最大容量EC伊甸区容量YGCyfc次数FGCfgc次数
-gcold选项
输入
jstat -gcold 29271 1000 20
输出
PC PU OC OU YGC FGC FGCT GCT
262144.0 121554.1 1398272.0 337896.5 25375 7 5.536 418.995
262144.0 121554.1 1398272.0 337896.5 25375 7 5.536 418.995
列描述PC持久化容量PU持久化使用容量OC老年区容量OU老年区使用容量YGC新生代垃圾回收次数YGCT新生代垃圾回收时间FGC老年代垃圾回收次数FGCT老年代垃圾回收时间
-gcoldcapacity选项
输入
jstat -gcoldcapacity 29271 1000 20
输出
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
1398272.0 1398272.0 1398272.0 1398272.0 25373 7 5.536 418.958
1398272.0 1398272.0 1398272.0 1398272.0 25373 7 5.536 418.958
列描述OGCMN老年代中初始化容量OGCMX老年代中最大容量OGC老年区当前容量OCOld代的容量YGCygc次数FGCfgc次数FGCTfgc花费时间GCTgc的总时间
-printcompilation选项
输入
jstat -printcompilation 29271 1000 20
输出
Compiled Size Type Method
6663 3093 1 com/alibaba/dubbo/registry/support/FailbackRegistry retry
6663 3093 1 com/alibaba/dubbo/registry/support/FailbackRegistry retry
列描述Compiled编译任务的数目Size方法生成字节码大小Type编译类型Method编译方法
参考文档
https://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html#general_options
猜你喜欢
- 2024-10-19 Java高频面试题之Linux(java面试 linux)
- 2024-10-19 性能测试能力提升-JVM GC监控和优化
- 2024-10-19 排查GC问题常用的工具(排查问题的方式有哪些)
- 2024-10-19 开发好物推荐8之自动化部署插件,再也不用登录SSH
- 2024-10-19 20道阿里巴巴中高级java面试题详解,把这些弄懂offer拿到你手软
- 2024-10-19 Java Web实战篇:发布和运维必备的12条Linux命令
- 2024-10-19 Java工程师常用Linux命令大全(linux javac)
- 2024-10-19 玩转linux下启动jar和关闭jar方式(java程序员必看)
- 2024-10-19 超详细的EFK安装部署教程--环境准备篇
- 2024-10-19 为什么阿里架构师是这样定位Java性能问题的?这几点总结的很详细
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)