VisualVM通过JMX远程连接JVM

如果本地安装了JDK,则在${java.home}/bin/下可找到jvisualvm.exe,双击打开即可使用。否则,去官网下载一个,解压即可使用。现有一个springboot程序springbootdemo.jar,使用JDK中jvisualvm的JMX方式监控该JVM

一、查询hostname

二、检查hostname对应ip地址

下面是新装虚拟机hostname对应ip地址

三、查询当前机器供外网访问的ip地址

本机ip地址为192.168.102.31

 四、将hostname对应ip地址添加到/etc/hosts文件中

vim /etc/hosts

添加

192.168.102.31 localhost.localdomain

五、启动springboot程序

springbootdemo启动脚本如下,JMX server主监听端口号设置为1566

#!/bin/bash

cd `dirname $0`
/usr/java/jdk1.8.0_162/bin/java -jar -Djava.rmi.server.hostname=192.168.102.31 -Dcom.sun.management.jmxremote.port=1566 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Xms100m -Xmx100m springbootdemo.jar &

 六、开放端口

如果防火墙处于关闭状态,则这一步跳过,否则按照如下步骤操作

1、查询当前进程pid

ps -ef | grep springbootdemo

2、查询该java程序监听的端口

lsof -i | grep 38231

3、在防火墙中打开所需端口(1566/44518/56989)

需要注意的是,除了JMX监听端口号1566是固定之外,每次启动,另外两个监听端口号都会发生变化,可以使用脚本在启动后获取到另外两个端口,添加到防火墙中,并且移除上一次启动时监听的随机端口

firewall-cmd --permanent --add-port=1566/tcp
firewall-cmd --permanent --add-port=44518/tcp
firewall-cmd --permanent --add-port=56989/tcp

4、重启防火墙使之生效

systemctl restart firewalld.service

5、查看端口开放结果,确认设置成功

firewall-cmd --list-all

七、VisualVM连接该JVM

1、VisualVM打开后,右键远程 -- 》添加运城主机,输入ip地址,确定

2、在刚添加的主机上,右键选择添加JMX连接,输入端口号

点击确定后,在主机下面出现一条记录

双击打开

配置结束



原文地址:https://www.cnblogs.com/qq931399960/p/10960573.html

时间: 2024-10-08 10:35:17

VisualVM通过JMX远程连接JVM的相关文章

visualvm以jmx方式连接

我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具. 这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面 使用Java VisualVM监控远程JVM - liuyb_94242 - 我的空间我做主 从左边Applications树中可以知道,不光可以监控本地JV

JMX远程监控JVM

远程监控JVM状态需要在JVM启动的时候需要加上一段代码开启这个功能.(以下全部以ubuntu-14-04-server.jdk1.8.tomcat7.0环境为基础) 配置的时候分两种情况:1.无需配置用户访问权限:2.需要配置用户访问权限 先看第一种:首先更改tomcat启动参数(vim catalina.sh)找到 # OS specific support. $var _must_ be set to either true or false. 添加如下变量:JAVA_OPTS="-Dco

利用VisualVm和JMX远程监控Java进程

自Java 6开始,Java程序启动时都会在JVM内部启动一个JMX agent,JMX agent会启动一个MBean server组件,把MBeans(Java平台标准的MBean + 你自己创建的MBean)注册到它里面,然后暴露给JMX client管理.简单来说就是每个Java程序都可以通过JMX来被JMX client管理,而且这一切都是自动发生的.而VisualVm就是一个JMX Client. VisualVm能够自动发现本机的Java进程,如果要监控远程主机上的Java进程则需

[工具使用] visualvm 通过jmx不能连接

远程服务器,通常配置下jmx,然后用visualvm连接然后监控. 但昨天自己的一台测试服务器上,正确配置了jmx还是不能连接上去. 后来参考了 https://bjddd192.github.io/java/2017/03/14/%E8%A7%A3%E5%86%B3jmx%E8%BF%9C%E7%A8%8B%E8%B0%83%E7%94%A8%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E7%9A%84%E9%97%AE%E9%A2%98.html 果真是这个问题.

jvisualVM远程连接JVM

1.基本环境 本地环境:Windows 7, jdk1.8.0_31 远程环境:Linux 2.6.32-642.11.1.el6.x86_64,Tomcat8.5 2.Tomcat配置 2.1 添加setenv.sh 在 Tomcat的bin下:vi setenv.sh,添加以下内容: #!/bin/sh JAVA_OPTS=" -Djava.rmi.server.hostname=192.168.12.213 -Dcom.sun.management.jmxremote -Dcom.sun.

【监控】jvisualvm之jmx远程连接 tomcat war启动应用

一.tomcat相应jmx配置 1.在tomcat bin目录下的catalina.sh文件中添加如下配置: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.ssl=false -Djava.net.pref

jvisualvm jmx 远程连接问题

In addition to listening to the port you specified (1100) the JMX server also listens to a randomly chosen (ephemeral) port.Check, e.g. with lsof -i|grep java if you are on linux/osx, which ports the java process listens to and make sure your firewal

jmx远程连接weblogic

首先需要的jar包 其次代码如下: package com.test; import java.io.IOException; import java.net.MalformedURLException; import java.util.Hashtable; import javax.management.MBeanServerConnection; import javax.management.remote.JMXConnector; import javax.management.rem

【监控】jvisualvm之jmx远程连接 jar启动应用

一.Java -jar启动添加如下参数就可以了 -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8199 -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.authenticate=