本地使用 visualvm 远程监控 springboot项目设置如下:
使用 boot-run.sh脚本启动程序,脚本启动语句设置如下:
nohup java -Xms1024m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar -Djava.rmi.server.hostname=192.168.0.10 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $SpringBoot --spring.config.location=./config/application.yml > /data/logs/run.log 2>&1 &
tail -200f /data/logs/run.log
注:(
1. nohup语句不能自定义换行,否则不能正常启动,切注意语句间的空格
2.设置 hostname:192.168.0.10 ( 填写的ip要与主机名完成映射 ), port : 1099 (默认端口,默认添加即可)
{
a.配置ip和主机名映射需先查看 hostname -i 查看映射情况
b.如果以上查询结果中没有需要配置的ip,则执行 hostnamectl 获取主机名
c.拿到主机名后 将需配置的ip 和 主机名 添加到 vi /etc/hosts 打开的hosts文件中保存,即可
}
3. VisualVM 使用 service:jmx:rmi:///...无法连接linux远程服务器
VisualVM 无法使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 连接到
关闭远程机器的防火墙即可:systemctl stop firewalld
不关闭防火墙的解决方案:qian0021514578.iteye.com/blog/218904…
原因:
除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,
可以通过命grep 来查看当前java进程需要监听的随机端口号
)