博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VisualVM监控远程主机上的JAVA应用程序
阅读量:7178 次
发布时间:2019-06-29

本文共 1717 字,大约阅读时间需要 5 分钟。

使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可以在本地对远程主机上的JAVA应用程序进行监控。

1.远程服务器、应用程序配置

1.1配合jstatd工具提供监控数据

1.1.1创建安全访问文件

在JAVA_HOME/bin目录中,创建名称为jstatdAllPolicy文件(这个文件名称也可以顺便起,不过要与jstatd启动时指定名称相同),将以下内容拷贝到文件中。并保证文件的权限和用户都正确。

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

1.1.2启动jstatd服务

在JAVA_HOME/bin目录中,执行以下命令:

./jstatd -J-Djava.security.policy=jstatdAllPolicy-p 1099 -J-Djava.rmi.server.hostname=192.168.xxx.xxx

jstatd命令描述以及参数说明:

           jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。

-J-Djava.security.policy=jstatdAllPolicy 指定安全策略文件名称-p 1099  指定启动端口-J-Djava.rmi.server.hostname=192.168.xxx.xxx  指定本机IP地址,在hosts文件配置不正常时使用,最好加上。

1.2JVM启动时配置远程监控选项

在需要远程监控的JVM启动时,开启远程监控选项

-Dcom.sun.management.jmxremote.port=1099-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Djava.rmi.server.hostname=192.168.xxx.xxx

2.本地VisualVM配置

 在本地VisualVM的应用程序窗口,右键单击【远程】》【添加远程主机】》【主机名】中输入远程主机的IP地址,点击【高级设置】输入远程主机开启的监控端口,点击【确定】完成配置。

如果一切正常,就可以看到远程主机上的JAVA应用程序了。

3.常见问题

3.1jstatd启动异常

启动jstatd时报错,主要原因应该是没有配置安全管理文件或者安全管理文件内容错误,另外就是因为启动的时候没有指定本机IP地址或者端口。

3.2正常启动jstatd后,本地VisualVM配置远程主机无法显示监控信息

3.2.1防火墙

一般情况下是使用以下命令关闭防火墙

[lk@master bin]#  service iptables stop清除防火墙规则:                                           [确定]把 chains 设置为 ACCEPT 策略:filter                       [确定]正在卸载 Iiptables 模块:                                  [确定][lk@master bin]#  service iptables status防火墙已停[lk@master bin]#

3.2.2JDK版本不一致

如果使用本机JAVA安装包的的JVisualVM来监控远程应用程序,JDK远程主机的版本和本地JDK版本差别较大就会出现类似问题。需要统一版本,或者下载VisualVM来监控。

3.2.3 IP地址或者端口配置错误

通过确定远程主机的IP地址或者端口来解决。

注:转载需注明出处及作者。

      

你可能感兴趣的文章
《java编程思想》学习笔记—控制执行流程
查看>>
JS函数实参和形参参数个数不一致时的处理和后果
查看>>
数据恢复西数80GWD800BB-88JHA0二次开盘数据恢复
查看>>
Android开发实践:Android.mk模板
查看>>
写给MongoDB开发者的50条建议Tip8
查看>>
正则表达式学习笔记
查看>>
Exclipse 输出结果时换行
查看>>
centos中如何查看机器型号
查看>>
opengl学习笔记——缓冲区对象
查看>>
sdk 与adt不适用,在eclipse 中删除版本再装引起的问题
查看>>
find -exec -ok 的用法 -mtime
查看>>
Cisco设备初始配置的几个必备点
查看>>
yum仓库的搭建
查看>>
AndroidStaggeredGrid实现grid效果--IT蓝豹
查看>>
php对接微信小程序支付
查看>>
Install systemtap on Ubuntu 14.04
查看>>
spring boot框架学习学前掌握之重要注解(1)-java配置方式
查看>>
NSURLSession异步post请求服务器
查看>>
windows8系统安装银联支付插件会蓝屏重启
查看>>
ES6 特性
查看>>