Java-性能调优工具-jstat
jps 查看当前java进程
[ ~]# jps
9939 Resin
9874 WatchdogManager
18293 Jps
jstat -gc -t pid 1s
[ ~]# jstat -gc -t 9939 1s
Timestamp S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
1964991.6 65536.0 65536.0 539.2 0.0 131072.0 15889.4 262144.0 163600.6 125280.0 75271.8 30576 231.889 33 1.581 233.469
1964992.6 65536.0 65536.0 539.2 0.0 131072.0 17543.4 262144.0 163600.6 125280.0 75271.8 30576 231.889 33 1.581 233.469
1964993.6 65536.0 65536.0 539.2 0.0 131072.0 17551.5 262144.0 163600.6 125280.0 75271.8 30576 231.889 33 1.581 233.469
S0C:Survivor space 0区容量(单位字节) 65536*8/1024 = 512k
S1C:Survivor space 1区容量
S0U:Survivor space 0区容量
S1U:Survivor space 1区已使用
EC:Eden space区容量
EU:Eden space区已使用
OC:Old代容量
OU:Old代已使用
PC:持久代容量
PU:持久代已使用
jstat -gccause pid 2000
[ ~]# jstat -gccause 9939 2000
S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
0.00 2.09 23.61 62.50 60.08 30591 231.990 33 1.581 233.570 Allocation Failure No GC
0.00 2.09 24.77 62.50 60.08 30591 231.990 33 1.581 233.570 Allocation Failure No GC
0.00 2.09 26.00 62.50 60.08 30591 231.990 33 1.581 233.570 Allocation Failure No GC
S0:Heap上的Survivor space 0区已使用空间百分比
S1:Heap上的Survivor space 1区已使用空间百分比
E:Heap上的Eden space区已使用空间的百分比
O:Heap上的Old space区已使用空间的百分比
P:Perm space区已使用空间的百分比
YGC,YGCT,FGC,FGCT,GCT 分别表示从应用程序启动到采样young gc次数,young gc时间,full gc次数,full gc时间,gc总时间,单位秒。
jstat -gcutil pid GC统计信息(内存使用率)
[ ~]# jstat -gcutil 9939 2000
S0 S1 E O P YGC YGCT FGC FGCT GCT
1.88 0.00 40.43 62.83 60.08 30748 233.076 33 1.581 234.656
1.88 0.00 78.87 62.83 60.08 30748 233.076 33 1.581 234.656
0.00 1.13 2.61 62.83 60.08 233.082 33 1.581 234.663
0.00 1.13 31.00 62.83 60.08 30749 233.082 33 1.581 234.663
0.00 1.13 63.96 62.83 60.08 30749 233.082 33 1.581 234.663
0.00 1.13 99.56 62.83 60.08 30749 233.082 33 1.581 234.663
1.09 0.00 0.90 62.83 60.08 233.089 33 1.581 234.669
1.09 0.00 3.43 62.83 60.08 30750 233.089 33 1.581 234.669
从上图可看出两次YGC的过程。Eden Space满了,百分比。
jstat -gcnew pid
[ ~]# jstat -gcnew 9939 3000
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
65536.0 65536.0 0.0 1176.4 15 15 32768.0 131072.0 76749.9 30755 233.128
65536.0 65536.0 0.0 1176.4 15 15 32768.0 131072.0 118414.8 30755 233.128
65536.0 65536.0 475.8 0.0 15 15 32768.0 131072.0 12474.0 233.1
65536.0 65536.0 475.8 0.0 15 15 32768.0 131072.0 119806.2 30756 233.132
65536.0 65536.0 475.8 0.0 15 15 32768.0 131072.0 128737.3 30756 233.132
65536.0 65536.0 0.0 2581.2 15 15 32768.0 131072.0 3715.6 233.1
65536.0 65536.0 0.0 2581.2 15 15 32768.0 131072.0 7210.5 30757 233.139
从上图可看出两次YGC过程,Eden space满了,容量。
TT:持有次数
MTT:最大持有次数
DSS:当前需要Survivor space容量。(Eden space已满)
jstat -gccapacity pid
[ ~]# jstat -gccapacity 9939 3000
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
262144.0 262144.0 262144.0 65536.0 65536.0 131072.0 262144.0 262144.0 262144.0 262144.0 21248.0 131072.0 125280.0 125280.0 30767 33
NGCMN:年轻代初始化大小,最小。262144*8/1024/1024 = 2G
NGCMX:年轻代最大容量。
NGC:年轻代当前容量。
OGCMN:老年代初始化大小,最小。
OGCMX:老年代最大容量。
PGCMN:持久代初始化大小。
PGCMX:持久代最大容量。
PGC:持久代新生成容量。
jstat -gcold pid
[ ~]# jstat -gcold 9939
PC PU OC OU YGC FGC FGCT GCT
125280.0 75271.8 262144.0 164999.9 30813 33 1.581 235.115
jstat -gcoldcapacity pid
[ ~]# jstat -gcoldcapacity 9939
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
262144.0 262144.0 262144.0 262144.0 30814 33 1.581 235.123
jstat -gcpermcapacity pid
jstat -class pid 显示加载class数量及所占空间
[ ~]# jstat -class 9939
Loaded Bytes Unloaded Bytes Time
13196 25537.4 293 426.1 7.10
jstat -compiler pid 显示VM实时编译的数量等信息
[ ~]# jstat -compiler 9939
Compiled Failed Invalid Time FailedType FailedMethod
4144 0 0 47.15 0
jstat -printcompilation pid 显示VM执行的信息
[ ~]# jstat -printcompilation 9939
Compiled Size Type Method
4144 83 1 java/lang/ThreadLocal$ThreadLocalMap getEntryAfterMiss
Java-性能调优工具-jstat的更多相关文章
- 第六章 Java性能调优工具(待续)
Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...
- java性能调优工具
windows调优工具: 任务管理器(ctrl+alt+delete或).资源管理器(任务管理器->性能进入或运行resmon.exe):JVM分析工具Jconsole,jProfile,Vis ...
- 《Java性能权威指南》笔记----Java性能调优工具
OS 1.CPU 用户态时间(us):cpu执行应用代码所占时间的百分比. 内核态时间(sy):cpu执行内核代码所占时间的百分比,系统态时间与应用相关. 空闲时间(id):cpu空闲时间百分比.空闲 ...
- Java性能调优工具(Linux)
为了能准确获得程序的性能信息,需要使用各种辅助工具.以下主要介绍了Linux上关于Java的系统性能分析工具,掌握这些工具,对于性能瓶颈定位.系统故障排查都有帮助. 1.top命令 [root@loc ...
- Java 性能调优工具
CPU使用率工具: vmstat 检查应用性能时,应该首先审查CPU时间.代码优化的目的是提升而不是降低(更短时间段内的)CPU的使用率.在试图深入优化应用前,应该先弄清楚为何CPU使用率低.磁盘使用 ...
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
性能分析工具jstatjmapjhatjstack 前提概要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...
- 【Java/Android性能优2】Android性能调优工具TraceView介绍
本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...
- Java性能调优实践
1 导论 JVM主要有两类调优标志:布尔标志和附带参数标志 布尔标志:-XX:+FlagName表示开启,-XX:-FlagName表示关闭. 附带参数标志:-XX:FlagName=somethi ...
- JVM性能调优(4) —— 性能调优工具
前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 JVM性能调优(3) -- 内存分配和垃圾回收调优 一.JDK工具 先来看看有 ...
- Java性能调优笔记
Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
随机推荐
- Spring 集合注入
Spring注入是spring框架的核心思想之一.在实际的开发中,我们经常会遇见这样一些类的注入,这些类中包含一些集合作为类的属性,那么要怎样想类中的集合注入数据呢?本文通过一个简单的示例向大家介绍一 ...
- Tips-Windows 10【多桌面视窗】操作
Windows 10[多桌面视窗] 当你点击任务栏上的“task view”按键时,会在屏幕中间显示你当前正在使用的桌面,你可以点击“添加桌面”来创建一个新的桌面,在这个新的桌面你可以打开其他的应用程 ...
- 巨蟒python全栈开发flask15项目开始7
1.连续收取未读消息&&未读消息所属人 2.Pypinyin NLP中文同音字识别 3.jieba分词 4.Gemsim框架之LsiModel稀疏矩阵相似度 5.Gensim的应用 6 ...
- js 一些基础知识
数据类型: 作用域 每个函数都有自己的执行环境,执行环境定义了变量有权访问的其他数据,决定了他们各自的行为. 每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有 ...
- [iOS微博项目 - 4.3] - 设置每条微博边框样式
github: https://github.com/hellovoidworld/HVWWeibo A.设置每条微博边框样式 1.需求 不需要分割线 每个微博之间留有一定的间隙 2.思路 直接设 ...
- JavaBean的任务就是: “Write once, run anywhere, reuse everywhere” Enterprise JavaBeans
javaBean_百度百科 https://baike.baidu.com/item/javaBean/529577?fr=aladdin 区别EJB JavaBean 和 Server Bean(通 ...
- ICO成本价
[当前ICO成本价]仅供参考:ICOcoin 成本价1元SNT 成本价0.26元UGT 成本价2.7元PAY 成本价6元OMG 成本价2.6元YOYO 成本价 0.17元BNT 成本价26元BAT 成 ...
- 前端开发 - JavaScript - 总结
一.JavaScript的特征 javaScript是一种web前端的描述语言,也是一种基于对象(object)和事件驱动(Event Driven)的.安全性好的脚本语言.它运行在客户端从而减轻服务 ...
- Java 之设计模式(总述)
1. 面向对象设计原则 单一职责原则: 一个类只负责一个功能领域中的相应职责 开闭原则: 软件实体应对扩展开放,而对修改关闭; 里氏代换原则: 所有引用基类对象的地方能够透明地使用其子类的对象; 依赖 ...
- 剑指Offer——二叉树的深度
题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 分析: 二叉树的深度等于其左子树的深度和右子树的深度两个中最大的深 ...