Java的jstat命令使用详解
jstat命令简介
jstat(Java Virtual Machine Statistics Monitoring Tool)是JDK提供的一个可以监控Java虚拟机各种运行状态信息的命令行工具。它可以显示Java虚拟机中的类加载、内存、垃圾收集、即时编译等运行状态的信息。
jstat命令参数
命令语法:
jstat generalOptions
jstat outputOptions [-t] [-h<lines>] <vmid> [<interval> [<count>]]
命令参数说明:
generalOptions
:通用选项,如果指定一个通用选项,就不能指定任何其他选项或参数。它包括如下两个选项:-help
:显示帮助信息。
-options
:显示outputOptions
参数的列表。
outputOptions
:输出选项,指定显示某一种Java虚拟机信息。-t
:把时间戳列显示为输出的第一列。这个时间戳是从Java虚拟机的开始运行到现在的秒数。-h n
:每显示n行显示一次表头,其中n为正整数。默认值为 0,即仅在第一行数据显示一次表头。vmid
:虚拟机唯一ID(LVMID,Local Virtual Machine Identifier),如果查看本机就是Java进程的进程ID。interval
:显示信息的时间间隔,单位默认毫秒。也可以指定秒为单位,比如:1s。如果指定了该参数,jstat命令将每个这段时间显示一次统计信息。count
:显示数据的次数,默认值是无穷大,这将导致jstat命令一直显示统计信息,直到目标JVM终止或jstat命令终止。
输出选项
如果不指定通用选项(generalOptions),则可以指定输出选项(outputOptions)。输出选项决定jstat命令显示的内容和格式,具体如下:
-class
:显示类加载、卸载数量、总空间和装载耗时的统计信息。-compiler
:显示即时编译的方法、耗时等信息。-gc
:显示堆各个区域内存使用和垃圾回收的统计信息。-gccapacity
:显示堆各个区域的容量及其对应的空间的统计信息。-gcutil
:显示有关垃圾收集统计信息的摘要。-gccause
:显示关于垃圾收集统计信息的摘要(与-gcutil相同),以及最近和当前垃圾回收的原因。-gcnew
:显示新生代的垃圾回收统计信息。-gcnewcapacity
:显示新生代的大小及其对应的空间的统计信息。-gcold
: 显示老年代和元空间的垃圾回收统计信息。-gcoldcapacity
:显示老年代的大小统计信息。-gcmetacapacity
:显示元空间的大小的统计信息。-printcompilation
:显示即时编译方法的统计信息。
jstat命令的显示输出被格式化为一个表,列用空格分隔。接下来,我来了解一下每条输出选项的列名。
-class选项
- Loaded:加载的类的数量。
- Bytes:加载的类所占用的字节数。
- Unloaded:卸载的类的数量。
- Bytes:卸载的类所占用的字节数。
- Time:执行类加载和卸载操作所花费的时间。
举个例子:
-compiler选项
- Compiled:执行的编译任务的数量。
- Failed:执行编译任务失败的数量。
- Invalid:执行编译任务失效的数量。
- Time:执行编译任务所花费的时间。
- FailedType:上次编译失败的编译类型。
- FailedMethod:上次编译失败的类名和方法。
举个例子:
-gc选项
- S0C:年轻代中第一个Survivor区的容量,单位为KB。
- S1C:年轻代中第二个Survivor区的容量,单位为KB。
- S0U:年轻代中第一个Survivor区已使用大小,单位为KB。
- S1U:年轻代中第二个Survivor区已使用大小,单位为KB。
- EC:年轻代中Eden区的容量,单位为KB。
- EU:年轻代中Eden区已使用大小,单位为KB。
- OC:老年代的容量,单位为KB。
- OU:老年代已使用大小,单位为KB。
- MC:元空间的容量,单位为KB。
- MU:元空间已使用大小,单位为KB。
- CCSC:压缩类的容量,单位为KB。
- CCSU:压缩类已使用大小,单位为KB。
- YGC:Young GC的次数。
- YGCT:Young GC所用的时间。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
举个例子:
-gccapacity选项
- NGCMN:年轻代最小的容量,单位为KB。
- NGCMX:年轻代最大的容量,单位为KB。
- NGC:当前年轻代的容量,单位为KB。
- S0C:年轻代中第一个Survivor区的容量,单位为KB。
- S1C:年轻代中第二个Survivor区的容量,单位为KB。
- EC:年轻代中Eden区的容量,单位为KB。
- OGCMN:老年代最小的容量,单位为KB。
- OGCMX:老年代最大的容量,单位为KB。
- OGC:当前老年代的容量,单位为KB。
- OC:当前老年代的容量,单位为KB。
- MCMN:元空间最小的容量,单位为KB。
- MCMX:元空间最大的容量,单位为KB。
- MC:当前元空间的容量,单位为KB。
- CCSMN:压缩类最小的容量,单位为KB。
- CCSMX:压缩类最大的容量,单位为KB。
- CCSC:当前压缩类的容量,单位为KB。
- YGC:Young GC的次数。
- FGC:Full GC的次数。
举个例子:
-gcutil选项
- S0:年轻代中第一个Survivor区使用大小占当前容量的百分比。
- S1:年轻代中第二个Survivor区使用大小占当前容量的百分比。
- E:Eden区使用大小占当前容量的百分比。
- O:老年代使用大小占当前容量的百分比。
- M:元空间使用大小占当前容量的百分比。
- CCS:压缩类使用大小占当前容量的百分比。
- YGC:Young GC的次数。
- YGCT:Young GC所用的时间。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
举个例子:
-gccause选项
- S0:年轻代中第一个Survivor区使用大小占当前容量的百分比。
- S1:年轻代中第二个Survivor区使用大小占当前容量的百分比。
- E:Eden区使用大小占当前容量的百分比。
- O:老年代使用大小占当前容量的百分比。
- M:元空间使用大小占当前容量的百分比。
- CCS:压缩类使用大小占当前容量的百分比。
- YGC:Young GC的次数。
- YGCT:Young GC所用的时间。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
- LGCC:上次垃圾回收的原因。
- GCC:当前垃圾回收的原因。
举个例子:
-gcnew选项
- S0C:年轻代中第一个Survivor区的容量,单位为KB。
- S1C:年轻代中第二个Survivor区的容量,单位为KB。
- S0U:年轻代中第一个Survivor区已使用大小,单位为KB。
- S1U:年轻代中第二个Survivor区已使用大小,单位为KB。
- TT:对象在年轻代存活的次数。
- MTT:对象在年轻代存活的最大次数
- DSS:期望的Survivor区大小,单位为KB。
- EC:年轻代中Eden区的容量,单位为KB。
- EU:年轻代中Eden区已使用大小,单位为KB。
- YGC:Young GC的次数。
- YGCT:Young GC所用的时间。
举个例子:
-gcnewcapacity选项
- NGCMN:年轻代最小的容量,单位为KB。
- NGCMX:年轻代最大的容量,单位为KB。
- NGC:当前年轻代的容量,单位为KB。
- S0CMX:年轻代中第一个Survivor区最大的容量,单位为KB。
- S0C:年轻代中第一个Survivor区的容量,单位为KB。
- S1CMX:年轻代中第二个Survivor区最大的容量,单位为KB。
- S1C:年轻代中第二个Survivor区的容量,单位为KB。
- ECMX:年轻代中Eden区最大的容量,单位为KB。
- EC:年轻代中Eden区的容量,单位为KB。
- YGC:Young GC的次数。
- FGC:Full GC的次数。
举个例子:
-gcold选项
- MC:元空间的容量,单位为KB。
- MU:元空间已使用大小,单位为KB。
- CCSC:压缩类的容量,单位为KB。
- CCSU:压缩类已使用大小,单位为KB。
- OC:老年代的容量,单位为KB。
- OU:老年代已使用大小,单位为KB。
- YGC:Young GC的次数。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
举个例子:
-gcoldcapacity选项
- OGCMN:老年代最小的容量,单位为KB。
- OGCMX:老年代最大的容量,单位为KB。
- OGC:当前老年代的容量,单位为KB。
- OC:当前老年代的容量,单位为KB。
- YGC:Young GC的次数。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
举个例子:
-gcmetacapacity选项
- MCMN:元空间最小的容量,单位为KB。
- MCMX:元空间最大的容量,单位为KB。
- MC:当前元空间的容量,单位为KB。
- CCSMN:压缩类最小的容量,单位为KB。
- CCSMX:压缩类最大的容量,单位为KB。
- YGC:Young GC的次数。
- FGC:Full GC的次数。
- FGCT:Full GC的所用的时间。
- GCT:GC的所用的总时间。
举个例子:
-printcompilation选项
Compiled:最近编译方法执行的编译任务的数量。
Size:最近编译方法的字节码的字节数。
Type:最近编译方法的编译类型。
Method:最近编译方法的类名和方法名。
举个例子:
最后,谢谢你这么帅,还给我点赞和关注。
微信公众号:万猫学社
微信扫描二维码
关注后回复「电子书」
获取12本Java必读技术书籍
![](https://images.cnblogs.com/cnblogs_com/heihaozi/1575453/o_onemore.jpg)
Java的jstat命令使用详解的更多相关文章
- Java的jinfo命令使用详解
jinfo命令简介 jinfo(Java Virtual Machine Configuration Information)是JDK提供的一个可以实时查看Java虚拟机各种配置参数和系统属性的命令行 ...
- Java的jmap命令使用详解
jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查 ...
- Java的jstack命令使用详解
jstack命令简介 jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具.线程快照一般被称为th ...
- JAVA命令参数详解
JAVA命令参数详解 JAVA命令详解 结构 说明 Java 和 OldJava JIT 选项 另请参阅 结构 java [ options ] class [ argument ... ] java ...
- JAVA 命令参数详解System.setProperty(
JAVA 命令参数详解: 1.-D<name>=<value> set a system property 设置系统属性. java -D参数简化加入多个jar java命令 ...
- Java开发利器Myeclipse全面详解
Java开发利器Myeclipse全面详解: Ctrl+1:修改代码错误 Alt+Shift+S:Source命令 Ctrl+7:单行注释 Ctrl+Shift+/ :多行注释 Ctrl+I :缩进( ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- Java虚拟机之垃圾回收详解一
Java虚拟机之垃圾回收详解一 Java技术和JVM(Java虚拟机) 一.Java技术概述: Java是一门编程语言,是一种计算平台,是SUN公司于1995年首次发布.它是Java程序的技术基础,这 ...
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
随机推荐
- 监听器(Listener)详解及举例
概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 监听器组成要素: 事件源:事 ...
- 1、interface/implements 接口与引用
转载请注明来源:https://www.cnblogs.com/hookjc/ 1.类中全部为抽象方法 2.抽象方法前不用加abstract 3.接口抽象方法属性为public 4.成员属性必须为常量 ...
- HashMap 的 7 种遍历方式与性能分析
前言 随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从 ...
- Spark——统计文本中单词出现的次数
示例一:统计所有单词出现的次数 1.在本地创建文件并上传到hdfs中 #vin data.txt //将文件上传到hadoop的根目录下 #hdfs dfs -put data.txt / 2.在sp ...
- Linux_shell命令说明
1.1 pwd命令 该命令的英文解释为print working directory(打印工作目录).输入pwd命令,Linux会输出当前目录. 1.2 cd命令 cd命令用来改变所在目录. cd / ...
- 帆软报表(finereport) 饼图联动
饼图联动:点击饼图1,饼图2和饼图3显示饼图1的关联数据,接着点击饼图2,饼图3显示饼图2的关联数据,点击上方清除级联,饼图则恢复默认展示状态 下面以上图示例效果为例,说明制作过程. 1.为每个饼图准 ...
- Servlet版本冲突导致页面404
入门servlet前先准备好了Tomcat环境以及用Idea打了一个Servlet war包想看看效果,结果发现页面跳转一直报404错误,检查了跳转url,项目结构等情况后,问题依旧没有解决.最后偶然 ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第09章 - 部署kubelet组件
文章目录 1.9.部署kubelet 1.9.0.创建kubelet bootstrap kubeconfig文件 1.9.1.创建kubelet配置文件 1.9.2.配置kubelet为system ...
- SpringMVC--@RequestMapping注解标注方法解析
SpringMVC--@RequestMapping注解标注方法解析 本文是基于springboot进行源码追踪分析 问题 @RequestMapping注释的类及方法,Spring是何时,何种方式解 ...
- Vue2.0源码学习(6) - 组件注册
组件注册 前言 在 Vue.js 中,除了它内置的组件如 keep-alive.component.transition.transition-group 等,其它用户自定义组件在使用前必须注册.在开 ...