使用visualvm远程监控JVM LINUX tomcat服务器与客户端配置方法

来源:互联网 发布:最难的网络游戏知乎 编辑:程序博客网 时间:2024/05/16 02:35

VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分 析的精度。

本文将对 VisualVM如何快速上手使用编写一个shell脚本,大家只需要将其放到tomcat的bin目录中即可使用。本文实例使用的linux环境。shell脚本代码如下:

#!/bin/sh#website为linux系统配置文件的一个路径,具体以自己部署的环境为准cat /website/config/nac_sys.conf | grep "manager">>/dev/nullif [ $? == 0 ];then    ETH=`cat /website/config/nac_sys.conf | grep "manager"|awk '{print $2}'`else    ETH="eth0"fiserverip=`ifconfig $ETH|egrep "inet addr:"|cut -d ":" -f2|awk '{print $1}'`#serverip为linux服务器的出口ipJAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=$serverip"

或者也可以将

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=自己的linux服务器的ip"

加入到tomcat的bin目录中的Catalina.sh最后,重启tomcat即可。如果是检测本地的程序,直接打开jdk(jdk1.6以上自带 jvisualvm.exe)安装目录中jre/bin/jvisualvm.exe的程序,双击本地的VisualVM即可实现监控。如果监控远程的服 务器,只需在远程节点上右键添加主机ip,再在主机ip上右键冒号后添加1099配置的端口即可实现监控。

这几个配置的说明如下:

-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上我已经都改好了


注意:如果不能实现远程监控,请查看服务器上tomcat启动后是否有配置的1099(默认端口)端口正在监听。还有注意关闭远程主机的防火墙(iptables)

运行效果如下:

使用VisualVM对JAVA程序进行性能分析及调优

0 0
原创粉丝点击