jstat命令 -- Java虚拟机监控统计工具
http://blog.sina.com.cn/s/blog_5f5716580100u76r.html
jstat [generalOption | outputOptions vmid [interval[s|ms] [count]]]
选项:
1.generalOption
-help 帮助
-options 打印选项
2.outputOptions
输出选项
-h n 每n个样本,显示header一次
-t n 在第一列显示时间戳列,时间戳时从jvm启动开始计算
-Jjvmoption 传递jvm选项
-statOption 决定统计什么信息
(1)class:统计classloader的行为
| Column | Description |
|---|---|
| Loaded | 被读入类的数量 |
| Bytes | 被读入的字节数(K) |
| Unloaded | 被卸载类的数量 |
| Bytes | 被卸载的字节数(K) |
| Time | 花费在load和unload类的时间 |
(2)compiler:统计hotspot just-in-time编译器的行为
| Column | Description |
|---|---|
| Compiled | 被执行的编译任务的数量 |
| Failed | 失败的编译任务的数量 |
| Invalid | 无效的编译任务的数量 |
| Time | 花费在执行编译任务的时间. |
| FailedType | 最近失败编译的编译类弄. |
| FailedMethod | 最近失败编译的类名和方法名 |
(3)gc:统计gc行为
| Column | Description |
|---|---|
| S0C | 当前S0的容量 (KB). |
| S1C | 当前S1的容量 (KB). |
| S0U | S0的使用 (KB). |
| S1U | S1的使用 (KB). |
| EC | 当前eden的容量(KB). |
| EU | eden的使用 (KB). |
| OC | 当前old的容量(KB). |
| OU | old的使用 (KB). |
| PC | 当前perm的容量 (KB). |
| PU | perm的使用 (KB). |
| YGC | young代gc的次数 |
| YGCT | young代gc花费的时间 |
| FGC | full gc的次数 |
| FGCT | full gc的时间 |
| GCT | 垃圾收集收集的总时间 |
(4)gccapacity:统计堆中代的容量、空间
| Column | Description |
|---|---|
| NGCMN | 年轻代的最小容量 (KB). |
| NGCMX | 年轻代的最大容量 (KB). |
| NGC | 当前年轻代的容量 (KB). |
| S0C | 当前S0的空间 (KB). |
| S1C | 当前S1的空间 (KB). |
| EC | 当前eden的空间 (KB). |
| OGCMN | 年老代的最小容量 (KB). |
| OGCMX | 年老代的最大容量 (KB). |
| OGC | 当前年老代的容量 (KB). |
| OC | 当前年老代的空间 (KB). |
| PGCMN | 永久代的最小容量 (KB). |
| PGCMX | 永久代的最大容量 (KB). |
| PGC | 当前永久代的容量 (KB). |
| PC | 当前永久代的空间 (KB). |
| YGC | 年轻代gc的次数 |
| FGC | full gc的次数 |
(5)gccause:垃圾收集统计,包括最近引用垃圾收集的事件,基本同gcutil,比gcutil多了两列
| Column | Description |
|---|---|
| LGCC | 最近垃圾回收的原因. |
| GCC | 当前垃圾回收的原因. |
(6)gcnew:统计新生代的行为
| Column | Description |
|---|---|
| S0C | 当前S0空间 (KB). |
| S1C | 当前S1空间 (KB). |
| S0U | S0空间使用 (KB). |
| S1U | S1空间使用 (KB). |
| TT | Tenuring threshold. |
| MTT | 最大的tenuring threshold. |
| DSS | 希望的Survivor大小 (KB). |
| EC | 当前eden空间 (KB). |
| EU | eden空间使用 (KB). |
| YGC | 年轻代gc次数 |
| YGCT | 年轻代垃圾收集时间 |
(7)gcnewcapacity:统计新生代的大小和空间
| Column | Description |
|---|---|
| NGCMN | 最小的年轻代的容量 (KB). |
| NGCMX | 最大的年轻代的容量 (KB). |
| NGC | 当前年轻代的容量 (KB). |
| S0CMX | 最大的S0空间 (KB). |
| S0C | 当前S0空间 (KB). |
| S1CMX | 最大的S1空间 (KB). |
| S1C | 当前S1空间 (KB). |
| ECMX | 最大eden空间 (KB). |
| EC | 当前eden空间 (KB). |
| YGC | 年轻代gc数量 |
| FGC | full gc数量 |
(8)gcold:统计旧生代的行为
| Column | Description |
|---|---|
| PC | 当前perm空间 (KB). |
| PU | perm空间使用 (KB). |
| OC | 当前old空间 (KB). |
| OU | old空间使用 (KB). |
| YGC | 年轻代gc次数 |
| FGC | full gc次数 |
| FGCT | full gc时间 |
| GCT | 垃圾收集总时间 |
(9)gcoldcapacity:统计旧生代的大小和空间
| Column | Description |
|---|---|
| OGCMN | 最小年老代容量 (KB). |
| OGCMX | 最大年老代容量 (KB). |
| OGC | 当前年老代容量 (KB). |
| OC | 当前年老代空间 (KB). |
| YGC | 年轻代gc次数 |
| FGC | full gc次数 |
| FGCT | full gc时间 |
| GCT | 垃圾收集总时间 |
(10)gcpermcapacity:统计永久代的大小和空间
| Column | Description |
|---|---|
| PGCMN | 永久代最小容量 (KB). |
| PGCMX | 永久代最大容量 (KB). |
| PGC | 当前永久代的容量 (KB). |
| PC | 当前永久代的空间 (KB). |
| YGC | 年轻代gc次数 |
| FGC | full gc次数 |
| FGCT | full gc时间 |
| GCT | 垃圾收集总时间 |
(11)gcutil:垃圾收集统计
| Column | Description |
|---|---|
| S0 | S0使用百分比 |
| S1 | S1使用百分比 |
| E | eden使用百分比 |
| O | old使用百分比 |
| P | perm使用百分比 |
| YGC | 年轻代gc次数 |
| YGCT | 年轻代gc时间 |
| FGC | full gc次数 |
| FGCT | full gc时间 |
| GCT | 垃圾收集总时间 |
(12)printcompilation:hotspot编译方法统计
| Column | Description |
|---|---|
| Compiled | 被执行的编译任务的数量. |
| Size | 方法字节码的字节数 |
| Type | 编译类型 |
| Method | 编译方法的类名和方法名。类名使用"/" 代替 "." 作为空间分隔符. 方法名是给出类的方法名. 格式是一致于HotSpot - XX:+PrintComplation 选项. |
3.vmid 虚拟机标识符,格式为:[protocol :][//]lvmid [@hostname [:port ]/servername ]
4.interval 是显示间隔
5.count 是显示次数
举例:
(1)每隔5秒显示在127.0.0.1机器上的18668jvm的classloader相关信息,一共显示100次,并且每5次显示一个列头,显示时间戳
(2)每隔5秒显示在127.0.0.1机器上的18668jvm的gc统计相关信息,一共显示100次,并且每5次显示一个列头,显示时间戳
使用jstat命令监测如下内存使用和垃圾回收统计数据:
$ <JDK>/bin/jstat –gcutil [-h<lines>] <pid> <interval>
jstat - gcutil选项打印所运行应用程序进程ID <pid>在指定抽样间隔<interval>下,堆使用及垃圾回收时间摘要,并且每<lines>行显示一次头信息。这产生出以下样例输出:
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 24.48 46.60 90.24 142 0.530 104 28.739 29.269
0.00 0.00 2.38 51.08 90.24 144 0.536 106 29.280 29.816
0.00 0.00 36.52 51.08 90.24 144 0.536 106 29.280 29.816
0.00 26.62 36.12 51.12 90.24 145 0.538 107 29.552 30.090
名列含义:
S0:Survivor space 0 utilization as a percentage of the space's current capacity.
S1:Survivor space 1 utilization as a percentage of the space's current capacity.
E:Eden space utilization as a percentage of the space's current capacity.
O:Old space utilization as a percentage of the space's current capacity.
P:Permanent space utilization as a percentage of the space's current capacity.
YGC:Number of young generation GC events.
YGCT:Young generation garbage collection time.
FGC:Number of full GC events.
FGCT:Full garbage collection time.
GCT:Total garbage collection time.
jstat命令 -- Java虚拟机监控统计工具的更多相关文章
- Java虚拟机监控命令
熟悉java的人都知道jdk的bin目录中有很多小工具,其中就包括用于监视虚拟机和故障处理的工具,今天就来仔细了解下各个工具的用法 jps JVM Process Status Tool,用于显示指定 ...
- Java虚拟机性能监测工具Visual VM与OQL对象查询语言
1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat.jmap.jha ...
- Java虚拟机------JVM分析工具
主要介绍JVM的分析工具: jps jps:Java Virtual Machine Process Status Tool http://docs.oracle.com/javase/1.5.0/d ...
- 【一】java 虚拟机 监控示例 Eclipse Memory Analyser
1.堆内存溢出示例代码 import java.util.ArrayList; import java.util.List; public class TestHeap { public static ...
- jstat命令(Java Virtual Machine Statistics Monitoring Tool)
1.介绍 Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控: - 类的加载及卸载情况 - 查看新生代.老生代及持久代 ...
- Java虚拟机性能调优(一)
Java虚拟机监控与调优,借助Java自带分析工具. jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程 jstat:JVM Statistics M ...
- 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)远程的监控工具连接到本地的JVM执行命令
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- jmap命令(Java Memory Map)(转)
JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...
随机推荐
- 原生JS获取元素的位置与尺寸
1.内高度.内宽度: 内边距 + 内容框 element.clientWidth element.clientHeight 2.外高度,外宽度: 边框 + 内边距 + 内容框 element.offs ...
- 数据结构笔记之跳表(SkipList)
一.跳表简述 跳表可以看做是一个带有索引的链表,在介绍跳表之前先看一下一个普通的链表,假如当前维护了一个有序的链表: 现在要在这个链表中查找128,因为事先不知道链表中数值的分布情况,我们只能从前到后 ...
- UART中的硬件流控RTS与CTS【转】
转自:http://blog.csdn.net/zeroboundary/article/details/8966586 5/23/2013 5:13:04 PM at rock-chips insh ...
- MySQL删除数据后磁盘空间的释放情况【转】
OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除 ...
- http://blog.csdn.net/u011001723/article/details/45621027
http://blog.csdn.net/u011001723/article/details/45621027 scp + 脚本 config 外置 http://www.cnblogs.com/ ...
- R语言学习笔记:使用tcltk包显示进度条
一般在跑耗时较长的程序时,我们不知道程序到底有没有正常跑着,或者在爬虫的时候不知道爬到什么时候断了.因此可以添加进度条来显示当前进度,观察进度是否有进展.当进度条卡住的时候,可以判断程序断线,从而可以 ...
- 【论文阅读】Batch Feature Erasing for Person Re-identification and Beyond
转载请注明出处:https://www.cnblogs.com/White-xzx/ 原文地址:https://arxiv.org/abs/1811.07130 如有不准确或错误的地方,欢迎交流~ [ ...
- vuex 的使用
用于多组件共享状态,如果不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的.确实是如此——如果应用够简单,您最好不要使用 Vuex.可使用简单Bus总线的方式来管理共享的数据详见(http:// ...
- 在c#中过滤通过System.IO.Directory.GetDirectories 方法获取的是所有的子目录和文件中的系统隐藏的文件(夹)的方法
//读取目录 下的所有非隐藏文件夹或文件 public List<FileItem> GetList(string path) { int i; string[] folders = Di ...
- ReentrantLock和AQS
AQS(AbstractQueuedSynchronizer)是JDK1.5提供的一个用来构建锁和同步工具的框架,子类包括常用的ReentrantLock.CountDownLatch.Semapho ...