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性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
随机推荐
- LAMP集群项目二 初始化系统
1.关闭防火墙 /etc/init.d/iptables stop chkconfig iptables off 2.关闭selinux cat /etc/selinux/config #查看状态 s ...
- [Domino]执行命令load design的时候出现Warning: Cannot locate design template
发现问题 在做Pseudo Test的时候被QA测出了一个问题.在Domino concole打命令“load design”,被Workbench翻译过后的数据库提示了一个警告:Warning: C ...
- IE浏览器存在的setAttribute bug
IE的setAttribute中与标准浏览器的有许多不同,主要表现在IE对setAttribute的功能上有些限制,就是不能用setAttribute来设定class.style于onclick等事件 ...
- CMS 收集器整理
基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记一下 GC Roots 能直接关联到的对象,速度很快 并发标记:(耗时最长,且可与用户线程 ...
- Python全栈day19(函数补充)
一,深浅拷贝 看拷贝列子day19-1.py s=[1,'zhangsan','lisi'] #s2是s的拷贝 s2=s.copy() #打印s2和s是一样的 print(s2) #修改s2 s2[0 ...
- kubernetes基础知识:限制POD和容器运行的CPU、内存
限制运行内存 https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/ 先看一个pod的yaml ...
- Why did we build Zuul? How We Use Zuul At Netflix
Home · Netflix/zuul Wiki https://github.com/Netflix/zuul/wiki Arthur Gonigberg edited this page on M ...
- libxml_disable_entity_loader
w避免加载外部实体字符. http://php.net/manual/en/function.libxml-disable-entity-loader.php libxml_disable_entit ...
- 监控之snmpd 服务
监控离不开数据采集,经常使用的Mrtg ,Cacti,Zabbix,等等监控软件都是通过snmp 协议进行数据采集的! 1 什么是snmp 协议? 简单网络管理协议(SNMP,Simple Netwo ...
- Linux磁盘分区工具的使用
----------fdisk分区工具---------- 一..下面来介绍fdisk分区工具的命令格式: fdisk是传统的Linux硬盘分区工具,也是Linux系统中最常用的一种硬盘分区 ...