二,JVM 自带命令行工具之JStat
jstat:虚拟机统计信息见识工具
jstat是用于见识虚拟机各种运行状态信息的命令行工具。他可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
jstat option vmid [interval[s|ms] [count]]


E表示Eden;
s1,s1表示survivor0,survivor1;
老年代o表示old,永久代p表示permanent
程序运行以来供放生Minor GC(YGC,表示Yong GC)122次,总耗时0.392,发生Full GC(FGC,表示Full GC)6次,(FGCT)总耗时为0.666。
不同的统计维度(statOption)及输出说明
-class
| 列名 | 说明 |
|---|---|
| Loaded | 加载了的类的数量 |
| Bytes | 加载了的类的大小,单为Kb |
| Unloaded | 卸载了的类的数量 |
| Bytes | 卸载了的类的大小,单为Kb |
| Time | 花在类的加载及卸载的时间 |
-compiler
| 列名 | 说明 |
|---|---|
| Compiled | 编译任务执行的次数 |
| Failed | 编译任务执行失败的次数 |
| Invalid | 编译任务非法执行的次数 |
| Time | 执行编译花费的时间 |
| FailedType | 最后一次编译失败的编译类型 |
| FailedMethod | 最后一次编译失败的类名及方法名 |

-gc
| 列名 | 说明 |
|---|---|
| S0C | 新生代中Survivor space中S0当前容量的大小(KB) |
| S1C | 新生代中Survivor space中S1当前容量的大小(KB) |
| S0U | 新生代中Survivor space中S0容量使用的大小(KB) |
| S1U | 新生代中Survivor space中S1容量使用的大小(KB) |
| EC | Eden space当前容量的大小(KB) |
| EU | Eden space容量使用的大小(KB) |
| OC | Old space当前容量的大小(KB) |
| OU | Old space使用容量的大小(KB) |
| PC | Permanent space当前容量的大小(KB) |
| PU | Permanent space使用容量的大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| YGCT | 从应用程序启动到采样时 Young GC 所用的时间(秒) |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
| FGCT | 从应用程序启动到采样时 Full GC 所用的时间(秒) |
| GCT | T从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC |

-gccapacity
| 列名 | 说明 |
|---|---|
| NGCMN | 新生代的最小容量大小(KB) |
| NGCMX | 新生代的最大容量大小(KB) |
| NGC | 当前新生代的容量大小(KB) |
| S0C | 当前新生代中survivor space 0的容量大小(KB) |
| S1C | 当前新生代中survivor space 1的容量大小(KB) |
| EC | Eden space当前容量的大小(KB) |
| OGCMN | 老生代的最小容量大小(KB) |
| OGCMX | 老生代的最大容量大小(KB) |
| OGC | 当前老生代的容量大小(KB) |
| OC | 当前老生代的空间容量大小(KB) |
| PGCMN | 持久代的最小容量大小(KB) |
| PGCMX | 持久代的最大容量大小(KB) |
| PGC | 当前持久代的容量大小(KB) |
| PC | 当前持久代的空间容量大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
JVM配置:-Xms10m -Xmx10m -Xss128k -XX:PermSize=10M -XX:MaxPermSize=10M
打印结果

-gccause
这个选项用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因,它比-gcutil会多出最后一次垃圾收集原因以及当前正在发生的垃圾收集的原因。
| 列名 | 说明 |
|---|---|
| LGCC | 最后一次垃圾收集的原因,可能为“unknown GCCause”、“System.gc()”等 |
| GCC | 当前垃圾收集的原因 |

-gcnew
| 列名 | 说明 |
|---|---|
| S0C | 当前新生代中survivor space 0的容量大小(KB) |
| S1C | 当前新生代中survivor space 1的容量大小(KB) |
| S0U | S0已经使用的大小(KB) |
| S1U | S1已经使用的大小(KB) |
| TT | Tenuring threshold,要了解这个参数,我们需要了解一点Java内存对象的结构,在Sun JVM中,(除了数组之外的)对象都有两个机器字(words)的头部。第一个字中包含这个对象的标示哈希码以及其他一些类似锁状态和等标识信息,第二个字中包含一个指向对象的类的引用,其中第二个字节就会被垃圾收集算法使用到。 在新生代中做垃圾收集的时候,每次复制一个对象后,将增加这个对象的收集计数,当一个对象在新生代中被复制了一定次数后,该算法即判定该对象是长周期的对象,把他移动到老生代,这个阈值叫着tenuring threshold。这个阈值用于表示某个/些在执行批定次数youngGC后还活着的对象,即使此时新生的的Survior没有满,也同样被认为是长周期对象,将会被移到老生代中。 |
| MTT | Maximum tenuring threshold,用于表示TT的最大值。 |
| DSS | Desired survivor size (KB).可以参与这里:http://blog.csdn.net/yangjun2/article/details/6542357 |
| EC | Eden space当前容量的大小(KB) |
| EU | Eden space已经使用的大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| YGCT | 从应用程序启动到采样时 Young GC 所用的时间(单位秒) |

-gcnewcapacity
| 列名 | 说明 |
|---|---|
| NGCMN | 新生代的最小容量大小(KB) |
| NGCMX | 新生代的最大容量大小(KB) |
| NGC | 当前新生代的容量大小(KB) |
| S0CMX | 新生代中SO的最大容量大小(KB) |
| S0C | 当前新生代中SO的容量大小(KB) |
| S1CMX | 新生代中S1的最大容量大小(KB) |
| S1C | 当前新生代中S1的容量大小(KB) |
| ECMX | 新生代中Eden的最大容量大小(KB) |
| EC | 当前新生代中Eden的容量大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
-gcold
| 列名 | 说明 |
|---|---|
| PC | 当前持久代容量的大小(KB) |
| PU | 持久代使用容量的大小(KB) |
| OC | 当前老年代容量的大小(KB) |
| OU | 老年代使用容量的大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
| FGCT | 从应用程序启动到采样时 Full GC 所用的时间(单位秒) |
| GCT | 从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC |

-gcoldcapacity
| 列名 | 说明 |
|---|---|
| OGCMN | 老生代的最小容量大小(KB) |
| OGCMX | 老生代的最大容量大小(KB) |
| OGC | 当前老生代的容量大小(KB) |
| OC | 当前新生代的空间容量大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
| FGCT | 从应用程序启动到采样时 Full GC 所用的时间(单位秒) |
| GCT | 从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC |
-gcpermcapacity
从应用程序启动到采样时发生 Full GC 的次数
| 列名 | 说明 |
|---|---|
| PGCMN | 持久代的最小容量大小(KB) |
| PGCMX | 持久代的最大容量大小(KB) |
| PGC | 当前持久代的容量大小(KB) |
| PC | 当前持久代的空间容量大小(KB) |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| FGC | |
| FGCT | 从应用程序启动到采样时 Full GC 所用的时间(单位秒) |
| GCT | 从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC |
-gcutil(这个经常用到)
| 列名 | 说明 |
|---|---|
| S0 | Heap上的 Survivor space 0 区已使用空间的百分比 |
| S1 | Heap上的 Survivor space 1 区已使用空间的百分比 |
| E | Heap上的 Eden space 区已使用空间的百分比 |
| O | Heap上的 Old space 区已使用空间的百分比 |
| P | Perm space 区已使用空间的百分比 |
| YGC | 从应用程序启动到采样时发生 Young GC 的次数 |
| YGCT | 从应用程序启动到采样时 Young GC 所用的时间(单位秒) |
| FGC | 从应用程序启动到采样时发生 Full GC 的次数 |
| FGCT | 从应用程序启动到采样时 Full GC 所用的时间(单位秒) |
| GCT | 从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC |

-printcompilation
| 列名 | 说明 |
|---|---|
| Compiled | 编译任务执行的次数 |
| Size | 方法的字节码所占的字节数 |
| Type | 编译类型 |
| Method | 指定确定被编译方法的类名及方法名,类名中使名“/”而不是“.”做为命名分隔符,方法名是被指定的类中的方法,这两个字段的格式是由HotSpot中的“-XX:+PrintComplation”选项确定的。 |

二,JVM 自带命令行工具之JStat的更多相关文章
- 一,JVM 自带命令行工具之JPS
jps:虚拟机进程状况工具 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(main class,class()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID. jps命令格式: jps ...
- 四,JVM 自带命令行工具之JStack
jstack(stack trace for java) 命令 用于查看虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件).线程快照就是当前虚拟机内每一条线程正在执行的方 ...
- 三,JVM 自带命令行工具之JMap
jmap:java内存映像工具 jmap(Memory Map for java ) 命令用于生成堆转储快照(一般被称为headdump 或dump文件) jmap命令格式:jmap [option ...
- JVM总结之命令行工具
jps jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号. jps相当于Solaris进程工具ps.不象"pgrep java"或"ps ...
- JVM-JDK命令行工具
JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...
- Scrapy学习篇(二)之常用命令行工具
简介 Scrapy是通过Scrapy命令行工具进行控制的,包括创建新的项目,爬虫的启动,相关的设置,Scrapy提供了两种内置的命令,分别是全局命令和项目命令,顾名思义,全局命令就是在任意位置都可以执 ...
- jdk 自带命令行工具
jps工具 虚拟机进程状况工具 工具主要选项 jstat: 虚拟机统计信息监视工具 jinfo: Java配置信息工具 jinfo( Configuration Info for Java) 的作用是 ...
- 手机抓包xcode自带命令行工具配合wireshark实现
三.最佳方式:rvictl命令 优点:简单,而且可以抓所有网络接口的数据: 缺点:似乎没有,要求手机iOS5以上不算要求吧?如果说缺点,就是这个命令是Xcode的Command Line Tools ...
- 使用脚本+kafka自带命令行工具 统计数据写入kafka速率
思路 每隔一段时间(比如说10秒)统计一次某topic的所有partition的最大offset值之和,这便是该topic的message总数. 然后除以间隔时间就可以粗略但方便得出 某topic的数 ...
随机推荐
- 使用TRY CATCH进行SQL Server异常处理
TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 - 包含可能 ...
- 为组件设定UI
-----------------siwuxie095 工程名:CustomizeSwing 包名:com.siwuxie095.swing 类 ...
- [原创]SQL表值函数:返回从当前周开始往回的自定义周数
一如往常一样,一篇简短博文记录开发过程中遇到的一个问题.初衷都是记录自己的一些Idea,也是希望能够帮助一些凑巧遇到此类需求的问题,这个需求的的开端是因为,要统计最近N周的销售数据. 接下来我们来看看 ...
- PCLVisualizer可视化类(4)
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=168 多视口显示 所示,并进行比较分析,利用不同的搜索半径,基于同一点云计算 ...
- Entity Framework Code-First(9.3):DataAnnotations - ConcurrencyCheck Attribute
ConcurrencyCheck Attribute: ConcurrencyCheck attribute can be applied to a property of a domain clas ...
- Struts2学习第三课 Struts2详解
接着上次的课程 这次我们看struts.xml 修改如下:这里是加上命名空间,默认的是不加,我们手动加上时就要在访问时加上命名空间. <?xml version="1.0" ...
- POJ 3693 Maximum repetition substring (后缀数组+RMQ)
题意:给定一个字符串,求其中一个由循环子串构成且循环次数最多的一个子串,有多个就输出最小字典序的. 析:枚举循环串的长度ll,然后如果它出现了两次,那么它一定会覆盖s[0],s[ll],s[ll*2] ...
- 【mybatis批量插入】
mybatis批量插入操作: MySQL:1.INSERT INTO TABLE_NAME(ID,NAME)VALUES(1,'张三'),(2,'李四') 2.INS ...
- @Html.AntiForgeryToken() 源码分析,表单防伪码的生成
源码来自MVC4@Html.AntiForgeryToken() 源码分析 public MvcHtmlString AntiForgeryToken() { return new MvcHtmlSt ...
- java基础之介绍
1.JAVA涉及在服务器领域上主要有 Linux.Unix.Windows等(其中Linux和Unix是大部分服务器用的主要的系统) 2.JAVA之所以发展的原因 1.java得到了很多的支持,拥有许 ...

