jstat虚拟机统计信息监控工具

jstat虚拟机统计信息监控工具

1、jstat(JVM Statistics Monitorning Tool)

用于监控虚拟机各种运行状态信息的命令行工具。

它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,它是运行期定位虚拟机

性能问题的首选工具。

jstat命令中的参数 intervalcount 代表查询间隔和次数,如果省略这两个参数,说明只查询一次。假设需要

每250毫秒查询一次进程2764垃圾收集的情况,一共查询20次,那么命令应该是:jstat -gc 2764 250 20

2、主要选项

选项作用
-class监视类装载、卸载数量、总空间及类装载所耗费的时间
-gc监视Java堆状况,包括Eden区、2个Survivor区、老年代、永久代等容量、已用空间、GC合计时间等信息
-gccapacity监视内容与-gc基本相同,但输出主要关注java堆各区域使用到的最大和最小空间
-gcutil监控内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比
-gccause与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
-gcnew监视新生代GC的状况
-gcnewcapacity监视内容与-gcnew基本相同,输出主要关注使用到的最大和最小空间
-gcold监视老年代GC的状况
-gcoldcapacity监视内容与-gcold基本相同,输出主要关注使用到的最大和最小空间
-gcmetacapacity输出永久代使用到的最大和最小空间
-compiler输出JIT编译器编译过的方法、耗时等信息
-printcompilation输出已被JIT编译的方法

2.1 统计加载类的信息

命令:jstat -class pid

在这里插入图片描述

在这里插入图片描述

列名说明
Loaded装载的类的数量
Bytes装载类所占用的字节数
Unloaded卸载类的数量
Bytes卸载类所占用的字节数
Time装载类和卸载类所耗费的时间(毫秒)

2.2 编译统计

命令:jstat -compiler pid

在这里插入图片描述

列名说明
Compiled编译任务执行数量
Failed编译任务执行失败的数量
Invalid编译任务失效的数量
Time编译总耗时(毫秒)
FailedType最后一个编译失败任务的类型
FailedMethod最后一个编译失败任务所在的类及方法

2.3 垃圾回收统计

命令:jstat -gc pid

在这里插入图片描述

列名说明
S0C年轻代中第一个survior(幸存区)的容量(kb)
S1C年轻代中第二个survior(幸存区)的容量(kb)
S0U年轻代中第一个survior(幸存区)目前已使用的容量(kb)
S1U年轻代中第二个survior(幸存区)目前已使用的容量(kb)
ECeden区的容量(kb)
EUeden区目前已使用的容量(kb)
OC老年代的容量(kb)
OU老年目前已使用的容量(kb)
MC方法区的容量(kb)
MU方法区目前已使用的容量(kb)
CCSC压缩类空间的容量(kb)
CCSU压缩类空间目前已使用的容量(kb)
YGC从应用程序启动到采集时年轻代中gc次数
YGCT从应用程序启动到采集时年轻代中gc所用时间(秒)
FGC从应用程序启动到采集时老年代中gc次数
FGCT从应用程序启动到采集时老年代gc所用的时间(秒)
GCT从应用程序启动到采集时gc所用的总时间(秒)

2.4 统计gc信息

命令:jstat -gcutil pid

在这里插入图片描述

列名说明
S0年轻代中第一个(survisor)幸存区已使用的容量占比
S1年轻代中第二个(survisor)幸存区已使用的容量占比
E伊旬园(eden)区已使用的容量占比
O老年代区已使用的容量占比
M元数据区已使用的占当前容量百分比
CCS压缩类空间使用的占当前容量百分比
YGC年轻代到目前gc次数
YGCT年轻代到目前gc耗费的总时间(秒)
FGC老年代目前gc次数
FGCT老年代目前gc耗费的总时间(秒)
GCT从应用程序到目前gc总耗时(秒)

2.5 堆内存统计

命令:jstat -gccapacity pid

在这里插入图片描述

列名说明
NGCMN年轻代(young)中初始化(最小)的大小(kb)
NGCMX年轻代(young)中初始化(最大)的大小(kb)
NGC年轻代(young)中当前的容量(kb)
S0C年轻代中第一个(survisor)幸存区的容量(kb)
S1C年轻代中第二个(survisor)幸存区的容量(kb)
EC年轻代中(Eden)伊旬园的容量(kb)
OGCMN老年代(old)中初始化(最小)的容量(kb)
OGCMX老年代(old)中初始化(最大)的容量(kb)
OGC当前老年代的大小(kb)
OC当前老年代的大小(kb)
MCMN最小元数据容量(kb)
MCMX最大元数据容量(kb)
MC当前元数据空间大小(kb)
CCSMN最小压缩类空间大小(kb)
CCSMX最大压缩类空间大小(kb)
CCSC当前压缩类空间大小(kb)
YGC从应用程序启动到采集时年轻代gc的次数
FGC从应用程序启动带采集时老年代gc的次数

2.6 新生代垃圾回收统计

命令:jstat -gcnew pid

在这里插入图片描述

列名说明
S0C年轻代中第一个(survisor)幸存区的容量(kb)
S1C年轻代中第二个(survisor)幸存区的容量(kb)
S0U年轻代中第一个(survisor)幸存区目前已使用的容量(kb)
S1U年轻代中第二个(survisor)幸存区目前已使用的容量(kb)
TT对象在新生代中存活的次数
MTT对象在新生代中存活的最大次数
DSS当前需要survivor(幸存区)的容量 (kb)
EC伊旬园(eden)区的大小(kb)
EU伊旬园(eden)区已使用的大小(kb)
YGC到目前年轻代gc的次数
YGCT到目前年轻代gc所耗费的时间(秒)

2.7 新生代内存统计

命令:jstat -gcnewcapacity pid

在这里插入图片描述

列名说明
MGCMN年轻代中初始化最小容量(kb)
MGCMX年轻代中初始化最大容量(kb)
NGC年轻代当前容量(kb)
S0CMX年轻代第一个幸存区(survisor)最大容量(kb)
S0C年轻代第一个幸存区(survisor)当前容量(kb)
S1CMX年轻代第二个幸存区(survisor)最大容量(kb)
S1C年轻代第二个幸存区(survisor)当前容量(kb)
ECMX年轻代伊旬园区(Eden)最大容量(kb)
EC年轻代伊旬园区(Eden)当前容量(kb)
YGC截止到目前年轻代gc次数
FGC截止到目前老年代gc次数

2.8 老年代垃圾回收统计

命令:jstat -gcold pid

在这里插入图片描述

列名说明
MC方法区大小(kb)
MU方法区使用大小(kb)
CCSC压缩类空间大小
CCSU压缩类空间使用大小
OC老年代容量(kb)
OU老年代已使用容量(kb)
YGC年轻代gc次数
FGC老年代gc次数
FGCT老年代gc时消耗时间
GCT截止到目前gc耗费的总时间(秒)

2.9 老年代内存统计

命令:jstat -gcoldcapacity pid

在这里插入图片描述

列名说明
OGCMN老年代最小容量(kb)
OGCMX老年代最大容量(kb)
OGC老年代目前生成的容量(kb)
OC老年代目前容量(kb)
YGC截止到目前年轻代gc次数
FGC截止到目前老年代gc次数
FGCT截止到目前老年代gc耗费的总时间(秒)
GCT截止到目前gc耗费的总时间(秒)

2.10 永久代内存统计

命令:jstat -gcmetacapacity pid

在这里插入图片描述

列名说明
MCMN最小元数据容量(kb)
MCMX最大元数据容量(kb)
MC当前元数据空间大小
CCSMN最小压缩类空间大小
CCSMX最大压缩类空间大小
CCSC当前压缩类空间大小(kb)
YGC截止目前年轻代gc次数
FGC截止目前老年代gc次数
FGCT截止目前年轻代gc耗费的总时间(秒)
GCT截止目前老年代gc耗费的总时间(秒)

2.11 最近二次gc统计

命令:gstat -gccause pid

在这里插入图片描述

列名说明
S0年轻代中第一个(survisor)幸存区已使用的容量占比
S1年轻代中第二个(survisor)幸存区已使用的容量占比
E伊旬园(eden)区已使用的容量占比
O老年代区已使用的容量占比
M元数据区已使用的占当前容量百分比
CCS压缩类空间使用的占当前容量百分比
YGC年轻代到目前gc次数
YGCT年轻代到目前gc耗费的总时间(秒)
FGC老年代目前gc次数
FGCT老年代目前gc耗费的总时间(秒)
GCT从应用程序到目前gc总耗时(秒)
LGCC最近垃圾回收的原因
GCC当前垃圾回收的原因

2.12 JVM编译方法统计

命令:jstat -printcompilation pid

在这里插入图片描述

列名说明
Compiled最近编译方法的数量
Size最近编译方法的字节码数量
Type最近编译方法的编译类型
Method方法名标识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/163946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Components Robotics OLP解决方案 北京衡祖

Visual Components 引入了“Visual Components Robotics OLP”的重大升级,合并了制造模拟和机器人离线编程。该解决方案利用 Delfoi Robotics 的技术,提高生产率、减少停机时间并减少浪费。 一、探索下一代离线机器人编程软件 自 1999 年以来&#xff0…

Flutter:安装依赖报错doesn‘t support null safety

项目中需要引用http依赖,在pubspec.yaml文件中添加如下信息: 当同步时,报错信息如下: [myflutter] flutter pub upgrade Resolving dependencies... The current Dart SDK version is 3.1.3. Because myflutter depends on http &…

Postman接口测试工具,提高SpringBoot开发效率

文章目录 🌺工具—postman⭐作用🏳️‍🌈安装🎈创建工作空间 🎄简单参数⭐原始方式🎈我们建立springboot项目,输入下面的代码🎈运行 ⭐SpringBoot方式 🎄实体参数&#x…

redis: 记录一次线上redis内存占用过大问题解决过程

引言 记录一次线上redis占用过大的排查过程,供后续参考 问题背景 测试同事突然反馈测试环境的web系统无法登陆,同时发现其他子系统也存在各类使用问题 排查过程 1、因为首先反馈的是测试环境系统无法登陆,于是首先去查看了登陆功能的报错…

flink的AggregateFunction,merge方法作用范围

背景 AggregateFunction接口是我们经常用的窗口聚合函数,其中有一个merge方法,我们一般情况下也是实现了的,但是你知道吗,其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现 AggregateFunction.merge方法调用时…

MongoDB安装及开发系例全教程

一、系列文章目录 一、MongoDB安装教程—官方原版 二、MongoDB 使用教程(配置、管理、监控)_linux mongodb 监控 三、MongoDB 基于角色的访问控制 四、MongoDB用户管理 五、MongoDB基础知识详解 六、MongoDB—Indexs 七、MongoDB事务详解 八、MongoDB分片教程 九、Mo…

ARPG----C++学习记录03 Section7位置,偏移,函数

Pawn 新建一个Pawn的c类Bird,并且新建一个蓝图 添加一个Capsule(胶囊) 不知道要加啥头文件,去网站找https://docs.unrealengine.com/5.3/en-US/API/Runtime/Engine/Components/UCapsuleComponent/SetCapsuleSize/ 包含文件名字的头…

Linux安装DMETL4

Linux安装DMETL4 产品与环境介绍1 规划安装路径2 DM8安装路径2.1 达梦数据库程序安装路径2.2 初始化达梦数据库2.3 创建数据库用户名 DMETL 3 安装DMETL3.1 查看安装包与授权3.2 安装DMETL程序3.3 DMETL安装日志 4 启动DMETL5 DMETL连接数据库后会自动创建相关资源表6 达梦数据…

视频增强和修复工具 Topaz Video AI mac中文版功能

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频,包括低分辨率视频、老旧影片、手机录制的视频等。 使用Topaz Video AI非常简单&#xff0c…

Java操作redis常见类型数据存储

一&#xff0c;Java连接Redis 1.1 导入依赖 打开IDEA在pom.xml导入依赖 注意&#xff1a;要在dependencies标签中导入 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> &…

【elasticsearch+kibana基于windows docker安装】

创建网络&#xff1a;es和kibana容器互联 docker network create es-net加载镜像 docker pull elasticsearch:7.12.1运行 docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -v $…

为什么深度学习模型的预测结果为数据集均值

如图&#xff0c;上边的为真值&#xff0c;下边的为预测值&#xff0c;可见预测值都是在30左右 一直debug不出来。后来发现是loss处写错了 用的torch.nn.MSELoss(pred,target)&#xff0c;其中pred的size是(batchsize,1), target的size是(batchsize)&#xff0c;此时会有警告但…