码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-01-15 20:35:37      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:visual   body   jvm   temp   一个   比较   setting   lvm   java_home   

使用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使用另外的端口

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

标签:visual   body   jvm   temp   一个   比较   setting   lvm   java_home   

原文地址:https://www.cnblogs.com/chenvi/p/8289432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!