JVM 查看配置 jinfo 及使用 jstat,查看堆栈jstack及GC

1. Jinfo

查看正在运行的Java应用程序的扩展参数: 包含 JVM 参数与 java 系统参数

  命令: jinfo pid

2 jstat

查看堆内存使用情况及 GC 回收频率等:

** jstat -命令选项 vmid 间隔时间(毫秒) 查询次数**

   

2.1 jstat -gc pid 最常用,可以评估程序内存使用及GC压力整体情况

  S0C:第一个幸存区的大小,单位KB

  S1C:第二个幸存区的大小

  S0U:第一个幸存区的使用大小S1U:第二个幸存区的使用大小

  EC:伊甸园区的大小

  EU:伊甸园区的使用大小

  OC:老年代大小

  OU:老年代使用大小

  MC:方法区大小(元空间)

  MU:方法区使用大小

  CCSC:压缩类空间大小

  CCSU:压缩类空间使用大小

  YGC:年轻代垃圾回收次数

  YGCT:年轻代垃圾回收消耗时间,单位s

  FGC:老年代垃圾回收次数

  FGCT:老年代垃圾回收消耗时间,单位s

  GCT:垃圾回收消耗总时间,单位s

2.2 jstat -gcutil pid 查看垃圾回收统计

  S0:幸存1区当前使用比例

  S1:幸存2区当前使用比例

  E:伊甸园区使用比例

  O:老年代使用比例

  M:元数据区使用比例

  CCS:压缩使用比例

  YGC:年轻代垃圾回收次数

  FGC:老年代垃圾回收次数

  FGCT:老年代垃圾回收消耗时间

  GCT:垃圾回收消耗总时间

2.3 查看其他类型堆内存使用统计;

  // 查看堆内存统计:

  jstat -gccapacity pid

  

  // 查看老年代垃圾回收

  jstat -gcold pid

  // 查看新生代垃圾回收

  jstat -gcnew pid

  

  // 查看新生代内存统计

  jstat -gccapacity pid

3 jstack

jstack 查看 jvm的堆栈。 命令:

jstack -l-e <pid> (to connect to running process)

Options:

-l long listing. Prints additional information about locks

-e extended listing. Prints additional information about threads

-? -h --help -help to print this help message

相关推荐
源分享7 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
JAVA9657 天前
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的
java·jvm·面试
伶俜667 天前
鸿蒙原生应用实战(十八)ArkUI 记账本:SQLite 账单 + 图表统计 + 分类管理
jvm·sqlite·harmonyos
IronMurphy7 天前
多线程问!
java·jvm·spring
unique8 天前
AI Coding 采集方案探索
jvm·人工智能·oracle
cfm_29148 天前
JVM GC日志解析
jvm
不良使8 天前
鸿蒙PC迁移:使用Electron`logseq-master-ohos` 鸿蒙适配全记录
jvm·electron·harmonyos
cfm_29148 天前
JVM深度详解:Class常量池、运行时常量池、字符串常量池、包装类对象池
java·jvm
JAVA9658 天前
JAVA面试-JVM篇 02-G1垃圾收集器的工作原理是什么与CMS的区别
java·jvm·面试