Java虚拟机工具之虚拟机统计监控工具jstat

2023-12-27 05:08

本文主要是介绍Java虚拟机工具之虚拟机统计监控工具jstat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jstat,全程是JVM Statistics Monitor Tool,主要用于监视虚拟机运行状态信息

jstat的命令格式是这样的:

jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]

参数interval表示的是间隔时间,count就是要查询多少次。

如果是这两个参数没有特别指定,那么就是查询一次,如下。

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jstat -gc 7369S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010

如果我们想要每500毫秒查询一次进程7369垃圾回收的情况,一共要10次,那么命令以及输出结果应该是:

kevin@kevin-HP-Compaq-Pro-4300-AiO-20-PC-APJ-CTO:~$ jstat -gc 7369 500 10S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010
2560.0 2560.0 2544.0  0.0   30720.0  25884.4   40960.0     1177.4   12800.0 12582.9 1536.0 1489.1      2    0.010   0      0.000    0.010

这里呢,需要介绍一下生成的这个表格中表头的含义:

S0C: Current survivor space 0 capacity (kB).
S1C: Current survivor space 1 capacity (kB).
S0U: Survivor space 0 utilization (kB).
S1U: Survivor space 1 utilization (kB).
EC: Current eden space capacity (kB). //当前Eden区的大小
EU: Eden space utilization (kB). //Eden区已用空间
OC: Current old space capacity (kB). // 当前老生区的大小
OU: Old space utilization (kB).
MC: Metaspace capacity (kB).
MU: Metacspace utilization (kB).
CCSC: Compressed class space capacity (kB). //压缩类空间容量
CCSU: Compressed class space used (kB). //已用压缩类空间大小
YGC: Number of young generation garbage collection events. //年轻代GC次数
YGCT: Young generation garbage collection time. //年轻代GC时间
FGC: Number of full GC events. // Full GC的次数
FGCT: Full garbage collection time. //Full GC的时间
GCT: Total garbage collection time. //垃圾回收总时间

那么stat选项还有哪些呢?

选项作用
class类加载行为的统计
compilerJava HotSpot VM实时编译行为统计
gc垃圾回收堆行为统计
gccapacity垃圾回收及相关空间统计
gccause垃圾回收统计的摘要(与-gcutil相同),会输出上一次GC事件的原因
gcnew年轻代行为统计
gcnewcapacity年轻代与其相关空间的大小统计
gcold老年代与元空间(metaspace)的行为统计
gcoldcapacity老年代大小统计
gcmetacapacity元空间(metaspace)大小统计
gcutil垃圾回收统计摘要
printcompilationJava HotSpot VM编译方法统计

每一种选项生成的报表的字段都不一样,每个字段具体啥意思,还得去查看相关文档。在Linux中用下man jstat就可以了。

jstat产生的结果全部是纯文本的,与它类似的还有一个图形界面的工具,叫visualvm,也在bin目录下,输入jvisualvm就可以启动。但是在很多时候,我们习惯于使用命令行,所以jstat还是很有市场的。

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


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

相关文章

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

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

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

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

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

SpringBoot使用ffmpeg实现视频压缩

《SpringBoot使用ffmpeg实现视频压缩》FFmpeg是一个开源的跨平台多媒体处理工具集,用于录制,转换,编辑和流式传输音频和视频,本文将使用ffmpeg实现视频压缩功能,有需要的可以参考... 目录核心功能1.格式转换2.编解码3.音视频处理4.流媒体支持5.滤镜(Filter)安装配置linu

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解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. 注意事

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结