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

相关文章

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相