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

2023-11-08 06:28

本文主要是介绍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方法名标识

这篇关于jstat虚拟机统计信息监控工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/368352

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome