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

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事