JVM学习之jstat使用方法
Jstat是JDK自带的一个轻量级工具,主要用JVM内建的指令对java应用程序的资源和性能进行实时的监控。
基本语法
jstat <option> [-t] [-h] <pid> <interval> <count>
参数解释:
- option 可以从下面参数中选择
- -class 显示ClassLoad的相关信息;
- -compiler 显示JIT编译的相关信息;
- -gc 显示和gc相关的堆信息;
- -gccapacity 显示各个代的容量以及使用情况;
- -gccause 显示垃圾回收的相关信息(通-gcutil),同时显示最后一次或当前正在发生的垃圾回收的诱因;
- -gcnew 显示新生代信息;
- -gcnewcapacity 显示新生代大小和使用情况;
- -gcold 显示老年代和永久代的信息;
- -gcoldcapacity 显示老年代的大小;
- -gcpermcapacity 显示永久代的大小;
- -gcutil 显示垃圾收集信息;
- -printcompilation输出JIT编译的方法信息;
- -t 可以在打印的列加上Timestamp列,用于显示系统运行的时间
- -h 可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头
- interval 执行每次的间隔时间,单位为毫秒
- count 用于指定输出多少次记录,缺省则会一直打印
使用说明
首先我们 使用linux命令 ps -ef|grep resin 查看我要监视进程的pid 23814
-
1、-class (jstat -class pid 1000 5 查看pid为23814的ClassLoad相关信息,每秒钟打印一次,总共打印5次)
- Loaded 加载类的数量
- Bytes 加载类合计大小
- Unloaded 卸载类的数量
- Bytes 卸载类合计大小
- Time 表示加载和卸载类总共的耗时
加载了9276个类,总大小为18045.9byte 卸载类0个,总大小为0byte,卸载和加载总耗时9.24ms
2、-compiler (Jstat -cpmpiler pid)
- Compiled 表示编译任务执行的次数
- Failed 表示编译失败的次数
- Invalid 表示编译不可用的次数
- Time 表示编译的总耗时
- FailedType 表示最后一次编译的类型
- FailedMethod 表示最后一次编译失败的类名和方法名
3、-gc (jstat -gc pid 1000 5 )
- S0C: Survivor0(幸存区0)大小(KB)
- S1C: Survivor1(幸存区1)1大小(KB)
- S0U: Survivor0(幸存区0)已使用大小(KB)
- S1U: Survivor1(幸存区1)已使用大小(KB)
- EC : Eden(伊甸区)大小(KB)
- EU : Eden(伊甸区)已使用大小(KB)
- OC :老年代大小(KB)
- OU : 老年代已使用大小(KB)
- PC : Perm永久代大小(KB)
- PU : Perm永久代已使用大小(KB)
- YGC:新生代GC个数
- YGCT:新生代GC的耗时(秒)
- FGC :Full GC次数
- FGCT:Full GC耗时(秒)
- GCT :GC总耗时(秒)
4、-gccapacity(jstat -gccapacity pid:显示各个代的容量的信息)
- NGCMN:新生代最小值(KB)
- NGVMX:新生代最大值(KB)
- NGC:当前新生代大小(KB)
- S0C:同上
- S1C:同上
- EC:同上
- OGCMN:老年代最小值(KB)
- OGCMX:老年代最大值(KB)
- OGC:当前老年代大小(KB)
- OC:同上
- PGCMN:永久代最小值(KB)
- PGCMX:永久代最大值(KB)
- PGC:当前永久代大小(KB)
- PC:同上
- YGC:同上
- FGC:同上
5、-gccause(jstat -gccause pid:显示最近一次GC的原因)
- LGCC:上一次GC的原因,是G1垃圾回收器回收
- GCC :当前GC的原因
6、-gcnew (jstat -gcnew pid:显示新生代的详细信息)
- TT:新生代到老年代的年龄;
- MTT:新生代到老年代的最大年龄;
- DSS:所需的survivor的大小;
7、-gcnewcapacity(jstat -gcnewcapacity pid:输出新生代各个区的详细信息)
- S0CMX:S0最大空间大小(KB)
- S1CMX:S1最大空间大小(KB)
- ECMX:Eden最大空间大小(KB)
- NGCMX:年轻代最大空间大小(KB)
8、-gcold(jstat -gcold pid:显示老年代GC的详细情况)
9、-gcoldcapacity(jstat -gcoldcapacitp pid:输出老年代的详细信息)
10、-gcutil(jstat -gcutil pid:查看每个代区域使用的百分比情况)
最新文章
- maven项目导入tomcat7源码
- Sphinx 配置文件的说明【备忘】
- 网络加速手段之一,JS文件资源合并下载
- 【JQuery基础教程(第三版)图灵】笔记
- CDN的原理及对SEO的影响
- 央视公然诽谤Linux操作系统,谁报告?
- 1.Node.js 接入微信公众平台开发
- Android计时器实现
- bzoj 3143: [Hnoi2013]游走
- eclipse -解决Unhandled event loop exception GC overhead limit exceeded
- 概率与统计推断第一讲homework
- CCPC-Wannafly Winter Camp Day1部分题目解析
- python多继承中子类访问祖先类的同名成员
- python-常用数据类型
- Visual Assist 10.9.2248 破解版(支持VS2017)
- mac下idea 13 在tomcat 7控制台乱码
- Java基础-时间复杂度计算方式
- Intent 常用场景 FileProvider 拍照 裁剪 MD
- C++中关于指针运算符->;的重载问题
- Solr --- Group查询与Facet区别
热门文章
- 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]
- Android初涉及之Android Studio&;JAVA入门--二月不能不写东西
- Booth Multiplication Algorithm [ASM-MIPS]
- Eclipse里面代码上下文变量点击后不一起变色
- 在JAVA中,关于反射机制的讨论
- Maven系列三Maven内置变量
- 利用MySQL存储过程分割字符串
- 规范化注释 VVDocumenter的使用方法
- Delphi常用系统函数总结
- Android项目,从web上取下汉字,中文部分乱码