使用Java VisualVM监控远程JVM(linux配置)

简介:
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少 , 目前有多个监控工具 , 相比JProfiler 对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面

 
从左边Applications树中可以知道,不光可以监控本地JVM运行情况, 还可以监控远程机器上的JVM运行情况.
本地监控:只要打开某个JAVA程序就会自动的加入到本地监控中.

因为本地监控无需配置, 所以这里主要介绍监控远程JVM
要进行远程监控, 本机的VisualVM就必须和远程的JVM要进行通信, Visualvm 目前支持两种 remote connection 方式.
分别是
jstatd JMX 方式: 这里我主要介绍的是通过JMX方式.

通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件
(我这里 远程机器是linux ) .
   a.进入JAVA_HOME\jre\lib\management\目录
   b.
拷贝jmxremote.password.template这个文件到当前目录, 并改名为 jmxremote.password
    
c. 打开 jmxremote.password 文件,去掉 # monitorRole  QED 和 # controlRole  R&D 这两行前面的注释符号

2. 修改远程机器上需要被监控的程序的配置文件 (我这里是监控Tomcat容器内部署的应用).
   a.进入TOMCAT_HOME\bin目录
     b. 打开 catalina.sh 文件,加入如下信息:
        JAVA_OPTS
="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.237

                                                    
-Dcom.sun.management.jmxremote=true
                                                     -Dcom.sun.management.jmxremote.port
=18999

                                                     -Dcom.sun.management.jmxremote.ssl
=false

                                                     -Dcom.sun.management.jmxremote.authenticate=false"

   c.重启Tomcat服务.

3. 客户端VisualVM 配置 (我客户端用的 是WinXP ) .
     a.直接反键点击Remote,选择Add Remote Host...
     b.在弹出的界面中输入远程机器的IP地址(192.168.0.237),这个IP地址会加入到Remote节点下.
     c.反键点击这个IP地址,选择Add JMX Connection, 在弹出的界面中输入刚配置的端口号(18999), 这个连接会加入到该IP节点下.
     d.反键点击这个连接,选择Open.

此时就可以看到监控的界面, 从界面上我们可以看到CPU信息, 内存信息, 统计加载类数量,线程信息.



目录
相关文章
|
12小时前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
9 0
|
4天前
|
Java
jvm配置参数,查看大对象直接分配到老年代
jvm配置参数,查看大对象直接分配到老年代
|
4天前
|
消息中间件 安全 Java
在Spring Bean中,如何通过Java配置类定义Bean?
【4月更文挑战第30天】在Spring Bean中,如何通过Java配置类定义Bean?
13 1
|
6天前
|
Java Windows
java——安装JDK及配置解决常见问题
java——安装JDK及配置解决常见问题
|
9天前
|
Java Spring
【Java】配置多数据源报错循环依赖
【Java】配置多数据源报错循环依赖
13 1
|
10天前
|
Java Spring 容器
如何用基于 Java 配置的方式配置 Spring?
如何用基于 Java 配置的方式配置 Spring?
|
10天前
|
Java Linux 开发工具
Linux 配置 Java/JDK 环境
Linux 配置 Java/JDK 环境
18 0
|
11天前
|
监控 Ubuntu Java
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
|
11天前
|
Java Linux 应用服务中间件
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
10 0
|
11天前
|
Java
Java配置环境
Java配置环境
16 0
Java配置环境