Java虚拟机监控指标及监控配置

主要是对Java虚拟机(JVM)的远程监视,如jdk自带的工具jvisualvm就可监视内存(JVM)、垃圾收集(GC)和线程统计,针对不同的JVM厂商,如Sun JVM、IBM JVM和Oracle JRockit JVM,监控的指标有所区别,但大体都一样。以下罗列了常见的JVM监控指标:

 

监控参数 描述
进程内存
Eden空间 (堆内存) 最初为大多数对象分配内存的池
幸存空间 (堆内存) 在eden空间的垃圾收集之后池中幸存的对象
Tenured Generation (堆内存) 在幸存空间中存在了一段时间的池中包含的对象
Java堆 JVM存储对象的空间
Permanent Generation (非堆内存) 保存虚拟机本身的所有反射数据,如类和方法对象。利用使用类数据共享的虚拟机,此内存可分为只读和读写区域。
代码缓存 (非堆内存) 用于编译和存储本机代码的内存。
JIT代码缓存 存储转换的汇编语言并可使其高速执行的内存
Nursery 分配给新的对象的空间
线程参数
全部开始线程 java虚拟机运行开始后的全部线程的数量
最大线程 java虚拟机运行开始后最大的活动线程数量或该值被重置
活动线程 当前运行的活动线程数
守护线程 当前运行的后台程序线程数
可运行线程 在Java虚拟机中执行的线程
被阻塞线程 被阻止并等待监视器锁的线程
等待中的线程 无限期等待另一线程执行特定动作的线程
限时等待的线程 该线程等待其他线程执行动作,并且等待了表示的时间
死锁线程 线程处于死锁状态的数量
类加载
载入的类 加载的类数
卸载的类 卸载的类数
JVM统计
CPU负荷 表示由JVM占用的机器的负荷
0表示无负荷,100表示满负荷
CPU使用 表示服务器上JVM使用CPU的信息
主机内存参数
全部物理内存 物理内存MB
空闲物理内存 空闲物理内存MB
全部交换区域 交换区域空间大小MB
虚拟内存 用来运行进程的虚拟内存的大小MB
垃圾清理(GC)
花费时间/Min 收集信息花费的大约时间(毫秒)
收集时间/Min 收集运行的大约时间ms
线程数 用于垃圾清理的线程数
上次开始时间 本次垃圾清理的开始时间
上次结束时间 本次垃圾清理的结束时间
清理前内存 本次垃圾清理前的内存使用情况
清理后内存 本次垃圾清理后的内存使用情况
垃圾收集 执行垃圾收集使用的时间
编译时间 编译(JIT)使用的时间

以下列出了一些需要监控的服务对象如何开启JVM监控配置(只要按以下方式配置并重启服务后,就可以通过jvisualvm等工具进行远程监视)

Java虚拟机监控指标及监控配置_第1张图片

说明:监控要求防火墙关闭或是放开指定端口,对于-Djava.rmi.server.hostname=172.16.1.152不是必须设置(除非有多于一个的网卡和IP)

你可能感兴趣的:(#,性能测试,#,性能监控,#,性能定位分析,性能监控技术)