使用visualvm远程监控LINUX服务器JVM

使用visualvm远程监控LINUX服务器JVM

一、JMX方式:
1. 首先要修改JDK中JMX服务的配置文件,以获得相应的权限:

进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,
a. 将jmxremote.password.template文件复制为jmxremote.password
b. 调整jmxremote.access和jmxremote.password的权限为只读写,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打开jmxremote.password文件,去掉

# monitorRole QED 
# controlRole R&D

这两行前面的注释符号

2. 启动参数

在需要监听的程序上启动参数带上以下参数

-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=[hostIp]

-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用  
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:这两个是固定配置,是JMX的远程服务权限的  
-Djava.rmi.server.hostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname   –i看一下IP是不是机器本身的IP,如果是127.0.0.1的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了  
3. Windows客户端配置

JDK自带visualvm,只需要进到bin目录下启动即可
启动后页面比较简洁,配置也很简单:

a. 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)

b. 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了

二、 Jstatd方式:
1. 在服务器上的java安装的bin下(如/usr/local/java/jdk1.8.0_91/bin)新建一个文件

文件名为jstatd.all.policy
文件内容如下

grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
2. 在当前目录中(bin)执行如下命令
./jstatd -J-Djava.rmi.server.hostname=[hostIp] -J-Djava.security.policy=jstatd.all.policy -p 1100

命令中的hostname是服务器的IP地址,-p是端口,这两项需要自己指定(网上使用默认IP地址和端口的命令,但我尝试了无法生效)。如果不指定端口。那么端口的默认值为1099。执行完毕后,使用telnet命令测试端口是否被监听。 如果一切正常, 说明jstatd服务已经配置成功了。

3. Windows客户端配置

在电脑上打开visual vm软件,右击左侧菜单中的「远程」菜单项,输入目标服务器IP地址添加一个远程主机。 然后再右击新加的主机菜单项, 在弹出的菜单中选择「添加jstatd连接」。 在弹出的对话框中的文本框中输入在第二步配置中指定的端口号(默认是1099)

注意: JMX方式启动不能使用Visual GC插件,jstatd方式可以使用但CPU视图不可以使用,因此可以结合两者一起使用,首先启用jstatd使用端口1099,再在需要监听的应用上启用JMX使用另外的端口

转载于:https://www.cnblogs.com/chenvi/p/8289432.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值