jstat命令详解

jstat 用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据。

命令的使用格式如下。

jstat [option] LVMID [interval] [count]

各个参数详解:

  • option:操作参数
  • LVMID:本地虚拟机进程ID
  • interval:连续输出的时间间隔
  • count:连续输出的次数

option 参数内容详解!

option 参数注释
classclass loader的行为统计
compilerHotSpt JIT编译器行为统计
gc垃圾回收堆的行为统计
gccapacity各个垃圾回收代容量和他们相应的空间统计
gcutil垃圾回收统计概述
gccause垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因
gcnew新生代行为统计
gcnewcapacity新生代与其相应的内存空间的统计
gcold年老代和永生代行为统计
gcoldcapacity年老代行为统计
gcmetacapacity元空间行为统计
printcompilationHotSpot编译方法统计

option 参数使用如下。

1、示例参数:class

-class参数用于监视类装载、卸载数量、总空间以及耗费的时间。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -class 20094
Loaded  Bytes  Unloaded  Bytes     Time
 12988 23508.0        0     0.0      30.21

各个参数解读如下:

  • Loaded : 加载class的数量
  • Bytes : class字节大小
  • Unloaded : 未加载class的数量
  • Bytes : 未加载class的字节大小
  • Time : 加载时间
2、示例参数:compiler

-compiler参数用于输出 JIT 编译过的方法数量耗时等。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -compiler 20094
Compiled Failed Invalid   Time   FailedType FailedMethod
   14524      5       0    43.33          1 org/springframework/core/annotation/AnnotationsScanner processMethodHierarchy

各个参数解读如下:

  • Compiled : 编译数量
  • Failed : 编译失败数量
  • Invalid : 无效数量
  • Time : 编译耗时
  • FailedType : 失败类型
  • FailedMethod : 失败方法的全限定名
3、示例参数:gc

-gc参数用于垃圾回收堆的行为统计,属于常用命令。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gc 20094
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
18432.0 18944.0  0.0   10133.7 281088.0 197255.5  139776.0   55324.5   70420.0 66352.5 9020.0 8405.8     25    0.599   3      0.673    1.273

其中 C 表示 Capacity 总容量,U 表示 Used 已使用的容量。

各个参数解读如下:

  • S0C:survivor0区的总容量
  • S1C:survivor1区的总容量
  • S0U:survivor0区已使用的容量
  • S1U:survivor1区已使用的容量
  • EC:Eden区的总容量
  • EU:Eden区已使用的容量
  • OC:Old区的总容量
  • OU:Old区已使用的容量
  • MC:泛指Metaspace区的总容量
  • MU:泛指Metaspace区已使用的容量
  • CCSC:泛指类压缩空间(Compressed class space,属于Metaspace区的一部分)的总容量
  • CCSU:泛指类压缩空间(Compressed class space,属于Metaspace区的一部分)已使用的容量
  • YGC:新生代GC次数
  • YGCT:新生代GC总耗时
  • FGC:Full GC次数
  • FGCT:Full GC总耗时
  • GCT:GC总耗时

还可以通过如下方式,来详细的监控 gc 回收情况,示例如下。

jstat -gc 20094 2000 20

以上的命令表示每隔 2000ms 输出进程号为 7140 的 gc 回收情况,一共输出 20次。

输出部分内容如下!

图片

4、示例参数:gccapacity

-gccapacity参数和-gc一样,不过还会输出 Java 堆各区域使用到的最大、最小空间。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gccapacity 20094
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
 43520.0 698880.0 355840.0 18432.0 18944.0 281088.0    87552.0  1398272.0   139776.0   139776.0      0.0 1110016.0  70420.0      0.0 1048576.0   9020.0     25     3

各个参数解读如下:

  • NGCMN : 新生代占用的最小空间
  • NGCMX : 新生代占用的最大空间
  • NGC:当前新生代的容量
  • OGCMN : 老年代占用的最小空间
  • OGCMX : 老年代占用的最大空间
  • OGC:当前老年代的容量
  • MCMN : Metaspace区占用的最小空间
  • MCMX : Metaspace区占用的最大空间
  • MC:当前Metaspace区的容量
  • CCSMN : Compressed class space区占用的最小空间
  • CCSMX : Compressed class space区占用的最大空间
  • CCSC:当前Compressed class space区的容量
5、示例参数:gcutil

-gcutil参数同-gc,不过输出的是已使用空间占总空间的百分比。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcutil 20094
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00  53.49  91.96  39.58  94.22  93.19     25    0.599     3    0.673    1.273
6、示例参数:gccause

-gccause参数用于垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gccause 20094
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
  0.00  53.49  92.65  39.58  94.22  93.19     25    0.599     3    0.673    1.273 Allocation Failure   No GC

各个参数解读如下:

  • LGCC:最近垃圾回收的原因
  • GCC:当前垃圾回收的原因
7、示例参数:gcnew

-gcnew参数用于统计新生代的行为。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcnew 20094
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
18432.0 18944.0    0.0 10133.7  2  15 18432.0 281088.0 265231.7     25    0.599

各个参数解读如下:

  • TT:Tenuring threshold(提升阈值)
  • MTT:最大的tenuring threshold
  • DSS:survivor区域大小 (KB)
8、示例参数:gcnewcapacity

-gcnewcapacity参数用于新生代与其相应的内存空间的统计。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcnewcapacity 20094
 NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
   43520.0   698880.0   355840.0 232960.0  18432.0 232960.0  18944.0   697856.0   281088.0    25     3

各个参数解读如下:

  • S0CMX:最大的S0空间 (KB)
  • S0C:当前S0区的容量 (KB)
  • ECMX:最大eden空间 (KB)
  • EC:当前eden区的容量 (KB)
9、示例参数:gcold

-gcold参数用于统计老年代的行为。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcold 20094
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT
 70420.0  66352.5   9020.0   8405.8    139776.0     55324.5     25     3    0.673    1.273
10、示例参数:gcoldcapacity

-gcoldcapacity参数用于统计老年代的大小和空间。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcoldcapacity 20094
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
    87552.0   1398272.0    139776.0    139776.0    25     3    0.673    1.273
11、示例参数:gcmetacapacity

-gcmetacapacity参数用于统计元空间的大小和空间。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -gcmetacapacity 20094
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT
       0.0  1112064.0    72468.0        0.0  1048576.0     9276.0    26     3    0.673    1.513
12、示例参数:printcompilation

-printcompilation参数用于HotSpot编译方法统计。

在操作系统终端输入如下命令,即可查看相关信息,示例如下。

$ jstat -printcompilation 20094
Compiled  Size  Type Method
    4387    123    1 org/apache/catalina/core/StandardContext getLoader

各个参数解读如下:

  • Compiled:被执行的编译任务的数量
  • Size:方法字节码的字节数
  • Type:编译类型
  • Method:编译方法的类名和方法名。类名使用”/” 代替 “.” 作为空间分隔符. 方法名是给出类的方法名

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚博microros小车-原生ubuntu支持系列:18 Cartographer建图

Cartographer简介 Cartographer是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。基于图优化(多线程后端优化、cere构建的problem优化)的方法建图算法。可以结合来自多个传感器&#xff0…

SpringBoot或SpringAI对接DeekSeek大模型

今日除夕夜,deepseek可是出尽了风头,但是我看网上还没有这方面的内容对接,官网也并没有,故而本次对接是为了完成这个空缺 我看很多的博客内容是流式请求虽然返回时正常的,但是他并不是实时返回,而是全部响应…

嵌入式C语言:什么是共用体?

在嵌入式C语言编程中,共用体(Union)是一种特殊的数据结构,它允许在相同的内存位置存储不同类型的数据。意味着共用体中的所有成员共享同一块内存区域,因此,在任何给定时间,共用体只能有效地存储…

Unet 改进:在encoder和decoder间加入TransformerBlock

目录 1. TransformerBlock 2. Unet 改进 3. 完整代码 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. TransformerBlock TransformerBlock是Transformer模型架构的基本组件,广泛应用于机器翻译、文本摘要和情感分析等自然语言处理任务…

音标-- 01--音标

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 国际音标1.元音音标单元音双元音常见单词 2.辅音音标清辅音,浊辅音清辅音(不振动)和 浊辅音(振动)是成对…

使用Pygame制作“打砖块”游戏

1. 前言 打砖块(Breakout / Arkanoid) 是一款经典街机游戏,玩家控制一个可左右移动的挡板,接住并反弹球,击碎屏幕上方的砖块。随着砖块被击碎,不仅能获得分数,还可以体验到不断加速或复杂的反弹…

【AI绘画】MidJourney关键词{Prompt}全面整理

AI绘画整理,MidJourney关键词。喜欢AI绘画的朋友必备,建议收藏,后面用到时供查阅使用。 1、光线与影子篇 中 英 闪耀的霓虹灯 shimmeringneon lights 黑暗中的影子 shadows in the dark 照亮城市的月光 moonlightilluminatingthe cit…

嵌入式系统|DMA和SPI

文章目录 DMA(直接内存访问)DMA底层原理1. 关键组件2. 工作机制3. DMA传输模式 SPI(串行外设接口)SPI的基本原理SPI连接示例 DMA与SPI的共同作用 DMA(直接内存访问) 类型:DMA是一种数据传输接口…

AVL树介绍

一、介绍 高度平衡的搜索二叉树,保证每个节点的左右子树高度差不超过1,降低搜索树的高度以提高搜索效率。 通过平衡因子和旋转来保证左右子树高度差不超过1 二、插入节点 1、插入规则 (1)搜按索树规则插入节点 (…

win11 sourcetree安装问题

win11 sourcetree安装出现msys-2.0.dll 问题,需要从win10的以下路径复制出 msys-2.0.dll来加入到win11中 C:\Users\kz121468\AppData\Local\Atlassian\SourceTree\git_local\usr\bin\ 复制到 win11的 C:\Users\kz121468\AppData\Local\Atlassian\SourceTree\git_lo…

Contrastive Imitation Learning

机器人模仿学习中对比解码的一致性采样 摘要 本文中,我们在机器人应用的对比模仿学习中,利用一致性采样来挖掘演示质量中的样本间关系。通过在排序后的演示对比解码过程中,引入相邻样本间的一致性机制,我们旨在改进用于机器人学习…

Spring Web MVC基础第一篇

目录 1.什么是Spring Web MVC? 2.创建Spring Web MVC项目 3.注解使用 3.1RequestMapping(路由映射) 3.2一般参数传递 3.3RequestParam(参数重命名) 3.4RequestBody(传递JSON数据) 3.5Pa…

DeepSeek的使用技巧介绍

DeepSeek是一款由杭州深度求索人工智能技术有限公司开发的AI工具,结合了自然语言处理和深度学习技术,能够完成多种任务,如知识问答、数据分析、文案创作、代码开发等。以下将从使用技巧、核心功能及注意事项等方面详细介绍DeepSeek的使用方法…

创新创业计划书|建筑垃圾资源化回收

目录 第1部分 公司概况........................................................................ 1 第2部分 产品/服务...................................................................... 3 第3部分 研究与开发.................................................…

为AI聊天工具添加一个知识系统 之80 详细设计之21 符号逻辑 之1

本文要点 要点 前面我们讨论了本项目中的正则表达式。现在我们将前面讨论的正则表达式视为狭义的符号文本及其符号规则rule(认识的原则--认识上认识对象的约束),进而在更广泛的视角下将其视为符号逻辑及其符号原则principle(知识…

Spring Boot 热部署实现指南

在开发 Spring Bot 项目时,热部署功能能够显著提升开发效率,让开发者无需频繁重启服务器就能看到代码修改后的效果。下面为大家详细介绍一种实现 Spring Boot 热部署的方法,同时也欢迎大家补充其他实现形式。 步骤一、开启 IDEA 自动编译功能…

ARM嵌入式学习--第十一天(中断处理 , ADC)

--中断的概念 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回被暂停的程序继续运行 --CPU处理事情的方式 -轮询方式 不断查询是否有事情需要处理&#xff0c…

ARM嵌入式学习--第十天(UART)

--UART介绍 UART(Universal Asynchonous Receiver and Transmitter)通用异步接收器,是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控…

socket实现HTTP请求,参考HttpURLConnection源码解析

背景 有台服务器,网卡绑定有2个ip地址,分别为: A:192.168.111.201 B:192.168.111.202 在这台服务器请求目标地址 C:192.168.111.203 时必须使用B作为源地址才能访问目标地址C,在这台服务器默认…

漏洞扫描工具之xray

下载地址:https://github.com/chaitin/xray/releases 1.9.11 使用文档:https://docs.xray.cool/tools/xray/Scanning 与burpsuite联动: https://xz.aliyun.com/news/7563 参考:https://blog.csdn.net/lza20001103/article/details…