当前位置: 首页 > news >正文

Java实时监控常用指令、工具

监控堆内存、栈内存、元空间等内存区域的使用情况,下面是几个常用方式(手动),

每种垃圾回收器的JVM内存模型都有所差别,展现的指标参数也有不同

jcmd命令

jcmd [进程号] GC.heap_info

从中可以清楚的看到,我用的Parallel 垃圾回收器以及它年轻代、老年代、元空间的内存使用情况。

jstat命令

jstat -gc [进程号]

指标解释 :

S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
1536.0 1536.0 1312.0  0.0   94208.0  67666.3   84480.0    32556.4   60696.0 59214.3 6448.0 6084.6    154    0.868   3      0.576    1.443  
S0C: Survivor 0 区容量 (单位: K)     S0C: Survivor 0 区容量 (单位: K)  
S1C: Survivor 1 区容量 (单位: K)     S1C: Survivor 1 区容量 (单位: K)  
S0U: Survivor 0 区已使用 (单位: K)    S0U: Survivor 0 区已使用 (单位: K)  
S1U: Survivor 1 区已使用 (单位: K)    S1U: Survivor 1 区已使用 (单位: K)  
EC: Eden 区容量 (单位: K)            EC: Eden 区容量 (单位: K)  
EU: Eden 区已使用 (单位: K)         EU: Eden 区已使用 (单位: K)  
OC: Old 区容量 (单位: K)             OC: Old 区容量 (单位: K)  
OU: Old 区已使用 (单位: K)          OU: Old 区已使用 (单位: K)  
MC: Metaspace 区容量 (单位: K)      MC: Metaspace 区容量 (单位: K)  
MU: Metaspace 区已使用 (单位: K)    MU: Metaspace 区已使用 (单位: K)  
CCSC: 类空间容量 (单位: K)          CCSC: 类空间容量 (单位: K)  
CCSU: 类空间已使用 (单位: K)        CCSU: 类空间已使用 (单位: K)  
YGC: 年轻代垃圾回收次数            YGC: 年轻代垃圾回收次数  
YGCT: 年轻代垃圾回收耗时 (单位: 秒) YGCT: 年轻代垃圾回收耗时 (单位: 秒)  
FGC: 完全垃圾回收次数              FGC: 完全垃圾回收次数  
FGCT: 完全垃圾回收耗时 (单位: 秒)   FGCT: 完全垃圾回收耗时 (单位: 秒)  
GCT: 总垃圾回收耗时 (单位: 秒)      GCT: 总垃圾回收耗时 (单位: 秒)

 也可以用watch命令进行实时监控(watch命令就是系统定时执行命令的)

这个代表1秒自动调用命令一次刷新shell显示的内容,可以看到每次都有数值在变化 

 watch -n 1 "jstat -gc [进程号]"

 jconsole

windows版本

Linux:(系统得有图形化界面)

可连接本地进程或远程进程,本次用本地进程演示,可以很直观的看出内存区域、线程、启动命令、回收器类型等实时统计信息

JvisualVM

打开方式 

配置好JAVA_HOME、PATH环境变量的电脑直接敲运行命令即可

还是连接一个本地的Java进程,可以看到内存使用情况、线程的状态、热点方法执行的CPU耗时实时统计、类型对象占用内存的实时统计等信息,和jconsole一样也可以点击按钮执行GC操作。

jmc

打开方式 

有环境变量的话也是可以直接输入jmc在运行里打开

 

 这种就是对图形化支持很好的监控工具,具有仪表盘等动态功能,可以监控线程、对象、CPU、内存使用情况和垃圾回收情况 

相关文章:

  • 大数据学习笔记
  • 软件定义网络(SDN):重塑未来网络的革命性架构
  • SQL学习-关联查询(应用于多表查询)
  • rk3588 驱动开发(一)字符设备开发
  • 《 Reinforcement Learning for Education: Opportunities and Challenges》全文阅读
  • 每日文献(十三)——Part one
  • kylin系统软件移植部署过程中遇到的问题及解决方案
  • WINUI——Background小结
  • Kotlin 与 Jetpack Compose 参数设计完全指南
  • Endnote 21显示字段设置与修改详细解析(附Endnote Click)
  • 性能优化实践
  • 关于flowable工作流的研究与初步使用
  • ​​​​​​​今日github AI科技工具汇总(20250415更新)
  • MODBUS RTU time_out实现
  • LLM中的N-Gram、TF-IDF和Word embedding
  • 从“数据孤岛”到“万物互联”,PLC组网重构工控边界
  • STM32 HAL库 DAC生成正弦波
  • 返工成本高,如何优化验收流程
  • MyBatis SqlSessionFactory 批量执行实战
  • Transformer编程题目,结合RTX 3060显卡性能和市场主流技术
  • 陕西省烹饪餐饮行业领军人物黄建军逝世,终年53岁
  • 神二十发射取得圆满成功
  • 广东省发展改革委原副主任、省能源局原局长吴道闻被开除公职
  • 长三角与粤港澳大湾区融合发展,无锡何以成为窗口?
  • 宁德时代与广汽等五车企发布10款巧克力换电新车型:年内将将完成30城1000站计划
  • 透纳仍是英国最好的艺术家,浦东美术馆有他的画展