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

简介: 主要是对Java虚拟机(JVM)的远程监视,如jdk自带的工具jvisualvm就可监视内存(JVM)、垃圾收集(GC)和线程统计,针对不同的JVM厂商,如Sun JVM、IBM JVM和Oracle JRockit JVM,监控的指标有所区别,但大体都一样。以下罗列了常见的JVM监控指标
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/70229653

主要是对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不是必须设置(除非有多于一个的网卡和IP)

目录
相关文章
|
20天前
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
1月前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
113 38
|
1月前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
55 2
|
1月前
|
SQL 监控 Java
Java连接池技术的最新发展,包括高性能与低延迟、智能化管理与监控、扩展性与兼容性等方面
本文探讨了Java连接池技术的最新发展,包括高性能与低延迟、智能化管理与监控、扩展性与兼容性等方面。同时,结合最佳实践,介绍了如何选择合适的连接池库、合理配置参数、使用监控工具及优化数据库操作,以实现高效稳定的数据库访问。示例代码展示了如何使用HikariCP连接池。
21 2
|
1月前
|
Prometheus 监控 Cloud Native
JAVA线程池监控以及动态调整线程池
【10月更文挑战第22天】在 Java 中,线程池的监控和动态调整是非常重要的,它可以帮助我们更好地管理系统资源,提高应用的性能和稳定性。
103 4
|
1月前
|
Prometheus 监控 Cloud Native
在 Java 中,如何使用线程池监控以及动态调整线程池?
【10月更文挑战第22天】线程池的监控和动态调整是一项重要的任务,需要我们结合具体的应用场景和需求,选择合适的方法和策略,以确保线程池始终处于最优状态,提高系统的性能和稳定性。
283 2
|
2月前
|
存储 算法 Java
Java虚拟机(JVM)的内存管理与性能优化
本文深入探讨了Java虚拟机(JVM)的内存管理机制,包括堆、栈、方法区等关键区域的功能与作用。通过分析垃圾回收算法和调优策略,旨在帮助开发者理解如何有效提升Java应用的性能。文章采用通俗易懂的语言,结合具体实例,使读者能够轻松掌握复杂的内存管理概念,并应用于实际开发中。
|
2月前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
174 1
|
2月前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
166 1
|
2月前
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
39 2