文档章节

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
码字总数 117532
作品 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
成为JavaGC专家Part II — 如何监控Java垃圾回收机制

英文原文:cubrid,编译:ImportNew- 王晓杰 本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生...

変態L
2013/03/06
0
0
jvm优化必知系列——监控工具

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

wier
2017/10/18
0
14

没有更多内容

加载失败,请刷新页面

加载更多

追加字节能优化性能

这种方式看起来很神奇,单如果深入理解处理器架构就能理解其中的奥秘。让我们先来看看LinkedTransferQueue这个类,它使用一个内部类型来定义队列的头队列Head和尾节点tail,二这个内部类Pad...

无知的小狼
26分钟前
2
0
性能优化(JVM概念及配置)

虚拟机组成 一次编写,到处运行 Java虚拟机是对操作系统的模拟,隔离差异 2018编程语言排行榜 一个复杂的构架 虚拟机的内部概念 运行原理 编译器,解释器执行流程 内存分配-线程模型 栈帧模型...

这很耳东先生
32分钟前
3
0
Scala之初步认识与环境准备

1. 了解 Scala 1.1. 什么是 Scala Scala 是 Scalable Language 的简写,是一门多范式的编程语言。 Scala设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚...

飞鱼说编程
54分钟前
4
0
Vue项目分环境打包的实现步骤

在项目开发中,我们的项目一般分为开发版、测试版、Pre版、Prod版。Vue-cli的默认环境一只有dev和prod两个,之前每次要发布测试版或Pre版都是修改了源码中API地址后打包,这样很麻烦。如果能...

peakedness丶
54分钟前
6
0
vue+lowdb+express

搭建流程: 1.安装Node.js; 2.安装npm; 3.安装Express; 搭建流程 npm install -g express 安装 express 生成器 npm install -g express-generator 查看是否安装成功,随便输的一个命令...

Js_Mei
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部