文档章节

jdk工具--jstat

A__17
 A__17
发布于 2017/08/25 01:34
字数 985
阅读 2
收藏 0

jstat:虚拟机统计信息监视工具(JVM Statistics Monitoring Tool)

说明:监视虚拟机的各种运行状态:类装载、内存、垃圾收集等运行数据。

格式:jstat [option] PID [interval] [count]

参数:
	option:
		-class 	查看类装载的信息
		-gc 	查看java堆的状况
		-gccapacity 	查看堆中各个区域的最小容量和最大容量
		-gcutil		查看堆中各个区域已使用空间占其总空间的百分比
		-gccause	与-gcutil相同,另外还输出了:导致上一次GC的原因和当前GC的原因
		-gcnew			查看堆中新生代的状况
		-gcnewcapacity  查看堆中新生代的最小容量和最大容量
		-gcold			查看堆中老年代的状况
		-gcoldcapacity  查看堆中老年代的最小容量和最大容量
		-gcpermcapacity 查看堆中永久代的最小容量和最大容量
		-gcmetacapacity	查看元数据空间的当前大小、最大容量和最小容量(jdk1.8)
		
	interval:表示查询的间隔时间,单位:毫秒
	count:	  表示查询的次数,如果interval和count都省略,则默认为只查询一次。

	
查询结果标识:

	通用:
		Minor GC(Young GC):
			YGC: 进程从启动以来Minor GC的次数
			YGCT:进程从启动以来Minor GC所花费的时间
		Full GC:FGC表示次数,FGCT表示时间
			FGC: 进程从启动以来Full GC的次数
			FGCT:进程从启动以来Full GC所花费的时间
			GCT: Minor GC和Full GC总共花费的时间

	jstat -gc
	jstat -gcutil
	jstat -gccause
		新生代(Young)中的Eden区:E
			E: Eden区已使用的空间占其总空间的百分比
			EC:Eden区的容量(Eden Capacity)
			EU:Eden区已使用的空间(Eden Use)
		新生代(Young)中的Survivor区:S0 S1
		老年代(Old):O
		永久代(Permanent):P
		
		jdk8中:
		元数据空间(Metaspace):M
		元数据空间中的压缩类空间(Compressed Class Space):CCS
								
		说明:
			1>jdk8中已经没有永久代了,取而代之的是元空间,元空间占用的是本地内存,不占用虚拟机的内存。
			2>Metaspace由Klass Metaspace和NoKlass Metaspace两部分组成。
			3>M表示Metaspace已使用的百分比,CCS表示Klass Metaspace已使用的百分比(CCS=CCSU/CCSC)。
			4>M的值达到了90%以上,不一定能说明metaspace已经用了很多了,因为内存是慢慢commit的,所以我们的分母是慢慢变大的,不过当我们commit到一定量的时候就不会再增长了。
			5>根据MC,MU,CCSC,CCSU来判断metaspace的状态更靠谱。
		
		注:S0/S0C/S0U、S1/S1C/S1U、O/OC/OU、P/PC/PU、M/MC/MU、CCS/CCSC/CCSU 与 E/EC/EU类似
		
		LGCC:最后一次GC发生的原因
		GCC: 当前GC发生的原因
		
	jstat -gccapacity
		NGCMN:新生代的最小(初始化)容量
		NGCMX:新生代的最大容量   
		NGC:  新生代当前的容量
		
		ECMX: 新生代中Eden区的最大容量
		S0CMX、S1CMX:新生代中Survivor区的最大容量
		
		OGCMN:老年代的最小(初始化)容量
		OGCMX:老年代的最大容量   
		OGC:  老年代当前的容量 
		
		PGCMN:永久代的最小(初始化)容量
		PGCMX:永久代的最大容量   
		PGC:  永久代当前的容量
		
		jdk8中:
		MCMN:	元数据空间最小容量
		MCMX:	元数据空间最大容量
		MC:	当前元数据空间的大小
		CCSMN:	压缩类空间CCS(即:Klass Metaspace)的最小容量
		CCSMX:	压缩类空间CCS(即:Klass Metaspace)的最大容量
		CCSC:	当前压缩类空间CCS(即:Klass Metaspace)的大小
				
	jstat -gcnew
		TT: 老年化阈值。被移动到老年代之前,在新生代空存活的次数
		MTT:最大老年化阈值。
		DSS:幸存者区所需空间大小
		
	注意:单位是KB

© 著作权归作者所有

共有 人打赏支持
A__17
粉丝 2
博文 100
码字总数 117418
作品 0
朝阳
jdk自带分析vm工具(jdk 5.0以上版本)

一、概述 SUN 的JDK中的几个工具,非常好用。秉承着有免费,不用商用的原则。以下简单介绍一下这几种工具。(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安...

王大叔爱编程
2014/07/09
0
0
JVM:查看java内存情况命令

jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。...

BazingaYou
2013/11/15
0
0
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, js...

jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具...

老大做IT
2013/05/02
0
0
jvm优化必知系列——监控工具

这是jvm优化系列第二篇: jvm优化——垃圾回收 通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知...

wier
2017/10/18
0
14
JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解

是什么 jps 查看所有的jvm进程,包括进程ID,进程启动的路径等等。 我自己也用PS,即:ps -ef | grep java jstack 观察jvm中当前所有线程的运行情况和线程当前状态。 系统崩溃了?如果java程...

xionghuiCoder
2015/08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

io流

码农屌丝
22分钟前
0
0
SpringBoot基础篇之重名Bean的解决与多实例选择

更多Spring文章,欢迎点击 一灰灰Blog-Spring专题 当通过接口的方式注入Bean时,如果有多个子类的bean存在时,具体哪个bean会被注入呢?系统中能否存在两个重名的bean呢?如果可以,那么怎么...

小灰灰Blog
32分钟前
0
0
记录一次dubbo项目实战

一、案例说明 存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表。 二、环境搭建 安装zookeeper,解压(zookeeper-3.4.8.tar.gz)得到如下: 然后进入conf将zoo_s...

Java烂猪皮
36分钟前
0
0
拜托,别再问怎么深入学习分布式架构了!

由于分布式系统所涉及到的领域众多,知识庞杂,很多新人在最初往往找不到头绪,不知道从何处下手来一步步学习分布式架构。 本文试图通过一个最简单的、常用的分布式系统,来阐述分布式系统中...

Java架构资源分享
38分钟前
0
0
《netty入门与实战》笔记-05:心跳与空闲检测

本小节,我们一起探讨最后一个话题:心跳与空闲检测 首先,我们来看一下,客户端与服务端之间的网络会存在什么问题? 1. 网络问题 下图是网络应用程序普遍会遇到的一个问题:连接假死 连接假...

Funcy1122
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部