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

来源:互联网 发布:ios旧版软件下载 编辑:程序博客网 时间:2024/05/21 18:42

主要是对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等工具进行远程监视)


说明:监控要求防火墙关闭或是放开指定端口,对于-Djava.rmi.server.hostname=172.16.1.152不是必须设置,但如果服务器在/etc/hosts

没有配置好hostname的IP有可能就无法远程连接JMX,这时候就需要配置-Djava.rmi.server.hostname

0 0