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虚拟机监控统计工具的更多相关文章

  1. Java虚拟机监控命令

    熟悉java的人都知道jdk的bin目录中有很多小工具,其中就包括用于监视虚拟机和故障处理的工具,今天就来仔细了解下各个工具的用法 jps JVM Process Status Tool,用于显示指定 ...

  2. Java虚拟机性能监测工具Visual VM与OQL对象查询语言

    1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat.jmap.jha ...

  3. Java虚拟机------JVM分析工具

    主要介绍JVM的分析工具: jps jps:Java Virtual Machine Process Status Tool http://docs.oracle.com/javase/1.5.0/d ...

  4. 【一】java 虚拟机 监控示例 Eclipse Memory Analyser

    1.堆内存溢出示例代码 import java.util.ArrayList; import java.util.List; public class TestHeap { public static ...

  5. jstat命令(Java Virtual Machine Statistics Monitoring Tool)

    1.介绍 Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控: - 类的加载及卸载情况 - 查看新生代.老生代及持久代 ...

  6. Java虚拟机性能调优(一)

    Java虚拟机监控与调优,借助Java自带分析工具. jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程 jstat:JVM Statistics M ...

  7. 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  8. 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)远程的监控工具连接到本地的JVM执行命令

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  9. jmap命令(Java Memory Map)(转)

    JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...

随机推荐

  1. 洛谷 P4838 P哥破解密码 题解

    矩阵乘法 + 快速幂优化递推: 看到这个题目我们不难想到递推,题干中说3个连续的A出现在序列中是不合法的,所以可以分为三种情况: (1):序列前只有一个A,如:BA,BBA,BABA. (2):序列前 ...

  2. import和require的区别

    node编程中最重要的思想就是模块化,import和require都是被模块化所使用. 遵循规范 require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转 ...

  3. Servlet笔记7--HttpServletRequest介绍

    通过HttpServletRequest获取表单提交的数据: 前端页面: <html> <head> <title>register</title> & ...

  4. Java环境的搭建及用记事本来揭露下JDK到底做了些什么

    和我一样的新手想学Java就从自己搭建环境开始,请看完这边文章,我搜集资料的整合. Java的标准版本是Java SE,所说的JDK(Java Development Kits)就是Java SE的开 ...

  5. 源码安装svn 1.8.9

    2014年5月25日 12:26:14 需要文件: svn apr apr-util sqlite3 serf svn : http://subversion.apache.org/download/ ...

  6. Explain之key_len长度计算

    以前我很好奇通过执行计划Explain去分析SQL的时候看到的key_len值有时很小,有时看到很大,那时也不知道它是怎么算出来的,现在终于搞懂了,嘻.因为网上对key_len的长度的计算的资料也很少 ...

  7. 2017-2018-2 20155225《网络对抗技术》实验一 PC平台逆向破解

    2017-2018-2 20155225<网络对抗技术>实验一 PC平台逆向破解 1.直接修改程序机器指令,改变程序执行流程 理清思路: 我们的目标文件是一个linux可执行文件,格式为E ...

  8. 一份可以发布jar包到MAVEN中央仓库的POM

    [2017-01-03 更新]将基础的pom抽离成一个项目无关的parent pom,euler-framework的pom继承这个parent pom 今天在家折腾了一下怎么把Jar包发布到Mave ...

  9. Mvc+Dapper+存储过程分页10万条数据

    10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程) 有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc ...

  10. Angular 5项目

    Angular 5项目 如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angu ...