JMX 常见指标

JVM 指标

系统指标

System 相关指标 描述
system.load.average 系统load,如果是docker,此指标收集的物理机的load
cpu.system.load.percent 系统所有进程占用cpu的百分比
cpu.jvm.load.percent jvm占用cpu的百分比
system.process.used.phyical.memory 系统使用的物理内存
system.process.used.swap.size 系统使用的swap内存

JVM 内存指标

JVM相关指标 描述
jvm.gc.count GC的次数
jvm.gc.time GC的时间,单位毫秒
jvm.younggc.count 年轻代GC的次数 ,包括的GC算法(Copy,ParNew,PS Scavenge,G1 Young Generation)
jvm.younggc.time 年轻代GC的时间,单位毫秒
jvm.fullgc.count 年老代GC的次数,包括的GC算法
jvm.fullgc.time 年老代GC的时间,单位毫秒
jvm.memory.used 内存使用总量
jvm.memory.used.percent 内存使用总量占比
jvm.thread.count JVM的线程数
jvm.thread.deadlock.count deadlock线程数
jvm.memory.nonheap.used nonheap使用总量
jvm.memory.nonheap.used.percent nonheap使用总量占比
jvm.memory.oldgen.used oldgen使用总量
jvm.memory.oldgen.used.percent oldgen使用总量占比
jvm.memory.oldgen.used.percent.after.fullgc 触发fullgc之后使用oldgen的内存使用占比,此时基本剩下不可以回收对象
jvm.memory.eden.used eden使用总量
jvm.memory.eden.used.percent eden使用总量占比
jvm.memory.survivor.used survivor使用总量
jvm.memory.survivor.used.percent survivor使用总量占比
jvm.memory.perm.used perm使用总量
jvm.memory.perm.used.percent perm使用总量占比
jvm.nio.directbuffer.used directbuffer使用总量,这个一般是nio一些框架会用到
jvm.nio.mapped.used mapped使用总量,这个一般是使用java内存文件映射用到

线程指标

JVM Thread 相关指标 描述
vm.thread.count 线程
jvm.thread.daemon.count daemon线程数
jvm.thread.totalstarted.count totalstarted线程数
jvm.thread.new.count new线程数
jvm.thread.runnable.count runnable线程数
jvm.thread.blocked.count blocked线程数
jvm.thread.waiting.count waiting线程数
jvm.thread.time_waiting.count time_waiting线程数
jvm.thread.terminated.count terminated线程数
jvm.thread.deadlock.count deadlock线程数

jmx bean

https://www.yourkit.com/docs/kb/
https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/examples.html