JVM 远程监控:JConsole 和 JVisualVM 的使用
前言
- 希望可以给第一次使用 JConsole 和 JVisualVM 的小伙伴提供一个参考。
- 基本上,每一部分内容的开头,博主都会附上一个通过官方文档的链接,想要了解更多内容的小伙伴可以点击进去阅读。
- 博主在写这边博客之前,也参考了很多其他博主的博客。在其他博客中,可能会有其他额外的配置,这些配置在官方文档中没有提到。博主在自己的环境中,没有添加任何官方文档中没有提到的配置,但最后也可以成功进行监控。博主猜测可能跟版本有关。小伙伴们在做监控的时候,需要注意一下这点.
官方文档
环境介绍
- Tomcat 8.5.34
- JDK jdk1.8.0_181
- CentOS 6.4
JConsole 远程监控
开启远程监控和管理功能
- 启动 JConsole 之前,需要远程服务器在启动 JVM 时开启 JMX Agent,然后才能进行远程连接并对 JVM 进行监控。更多信息可以查看官方文档。
- 要启动 JMX Agent ,只需要在启动 JVM 时,设置以下参数:
com.sun.management.jmxremote.port=portNum
- 这里的
portNum
是你想要开启 JMX/RMI 连接的端口。要确保被指定的端口是没有被使用的。除了发布用于本地访问的 RMI 连接器之外,设置这个属性,还会在私有的只读注册表发布一个额外的 RMI 连接器,这个连接器运行在指定的portNum
端口,使用众所周知的名称jmxrmi
。
- 注意:你必须在你设置的任何安全设置的基础上设置以上系统属性。这些安全设置描述如下:
- 使用密码认