java visualvm远程监控_远程JVM监控方法

环境说明:

  • jdk启动的jar所在系统的版本:CentOS Linux release 7.6.1810 (Core)

  • jdk版本:jdk-8u261-linux-x64

  • 客户端win10,和服务端使用同一个jdk版本

Centos7.6替换自带的jre安装jdk

先确保安装了jdk。由于我本身安装的是jre,所以先卸载,然后安装jdk。

操作方法如下:

  1. 查询已安装的java程序

    # rpm -qa | grep java-1.8java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64
  1. 卸载jre

    # rpm -e --nodeps java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64

    参考:https://www.cnblogs.com/cannel/p/11104178.html

jvisualvm 添加 jstatd 连接,远程监控Jvm

在java安装目录:/usr/java/default/lib 新建文件all.policy

# cd /usr/java/default/lib# vi all.policy

all.policy添加如下内容:

grant codebase "file:/usr/java/default/lib/tools.jar" {    permission java.security.AllPermission;};

通过jstatd启动RMI服务,执行:

$ rmiregistry -J-Djava.rmi.server.codebase=file:/usr/java/default/lib/tools.jar 1099 &$ jstatd -J-Djava.security.policy=/usr/java/default/lib/all.policy -p 1099 -J-Djava.rmi.server.hostname=47.xxx.xxx.xx2 &

hostname注意需要配置为公网ip

开启JVM的JMX监控

示例:

java -Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=47.xxx.xxx.xx2 -Xms512m -Xmx512m -jar k12platform-admin-8087.jar &

在防火墙中配置放行7199端口。如果为云主机,在安全组中配置放开上面的端口。

在防火墙中配置打开服务监听的端口

执行netstat -nltp命令可以查看JVM进程监听的端口,本示例中启动的java进程的PID为18962,通过下面的查询可知需要额外放行的两个端口为33407和33889。

# netstat -nltp## 其中:-n表示表示输出中不显示主机,端口和用户名,-l表示只显示监听listening端口,-t表示只显示tcp协议的端口,-p表示显示进程的PID和进程名称。Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name...tcp        0      0 0.0.0.0:33889           0.0.0.0:*               LISTEN      19209/javatcp        0      0 0.0.0.0:33407           0.0.0.0:*               LISTEN      18962/jstatd

如果为云主机,在安全组中配置放开上面的端口。

给Java VisualVM安装插件

插件下载:

https://visualvm.github.io/pluginscenters.html

https://visualvm.github.io/uc/8u131/updates.html

也可以在线安装,安装如下几个插件:

1cd8cd3e644ddb8aed9cb7dac0cf49de.png

一些监控界面示例

jconsole效果

启动C:\Program Files\Java\jdk1.8.0_73\bin\jconsole.exe

VM概要

233396f4795dadff2607048c06eed693.png

CPU、内存使用等

de85b63d641f11d7db014bcf319a0ac5.png

Java VisualVM效果

启动C:\Program Files\Java\jdk1.8.0_73\bin\jvisualvm.exe

830cb7fb0b3221ab56438ed44695a65d.png

0f075779faf1dd32400e6f5cf1930496.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值