性能测试监控中,监控Linux环境下应用内存方法如下:
---------------------------------------------------------------------------------------------------------------------------
有两种方法:
方法一:使用 Xing+Putty方式监控
获知待监控的Linux服务器:IP 用户、密码、端口 如(192.168.0.83 root/111111 端口9180)
本地PC:B;应用服务器:A
1)本地B安装工具“Xming-6-9-0-31-setup”,X server,一个SSH客户端
2)本地B安装JDK:jdk-6u43-windows-x64
3)本地B配置安装好的Xming,配置过程参见说明链接:http://www.zw1840.com/blog/zw1840/2008/10/putty-xming-linux-gui.html
4)SSH方式连接A,在A上启用SSH的X11 forwarding,方法是,查看 /etc/ssh/sshd_config 文件,修改X11Forwrding no 为 X11Forwrding yes
5)双击启动步骤3)中创建的桌面快捷图标文件“Xming.display.0.xlaunch”
6) SSH方式连接A,执行JDK安装目录/usr/java/jdk1.6.0_32/bin/下的运行程序jvisualvm,在打开的视图中选择已加载到本地的待监控程序
7)可忽略本步骤-在本地B,进入JDK安装目录,运行bin目录下的程序jvisualvm
8)如需同时监控不同环境下内存,重复步骤3)-6)
以上步骤可显示加载到本地的待监控应用,可选择监控
可能遇到问题: 本地JDK无法打开 :原因未明 ,预计为本地JDK 安装问题。
备注的其他说明:
PS:确认监控服务的防火墙关闭
service iptables status 查看防火墙状态
service iptables stop 立即关闭防火墙
查看防火墙:vi /etc/sysconfig/iptables
编辑防火墙文件添加信任:-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
/usr/local/tomcat/bin/startup.sh 启动tomcat
netstat -an | grep 6969命令查看端口是否正常启动 ,返回信息为:tcp 0 0 :::6969 :::* LISTEN
netstat -apn|grep 6969 查看端口为6969的进程ID ,返回信息为:tcp 0 0 :::6969 :::* LISTEN 25333/java
---------------------------------------------------------------------------------------------------------------------------
方法二:使用Jconsole远程方式监控 (出处:http://www.51testing.com/?uid-113838-action-viewspace-itemid-132703):
查看tomcat端口:ps -aux | grep tomcat
查看端口与进程ID:netstat -apn
查看端口 :ps -aux |grep java 或 ps -aux |grep pid
关闭端占用:Kill;netstat -anp |grep 8080
1、首先需要停止正在运行的服务:resin-XXX stop
2、然后在Linux的服务器启动项中添加如下信息:
#pwd //显示当前目录常规显示路径 /home/apache-tomcat-6.0.37/bin 或/usr/local/tomcat/bin/catalina.sh
# vi catalina.sh 添加如下内容:
CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.1.122 //也可编辑为 CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=6969
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
在这个前面添加以上 内容 # OS specific support. $var _must_ be set to either true or false.
3、重新启动服务resin-XXX start 如无法重启,需重启Linux:reboot 重启Tomcat :startup.bat
4、最后双击本机../jdk1.6/bin/jconsole.exe,启动Jconsole监控界面,在远程连接处输入:192.168.0.116:6969,输入Linux主机的用户名和密码;或连接出输入:service:jmx:rmi:///jndi/rmi://192.168.0.116:6969/jmxrmi
//其中第一个参数可以用来设置欲连接的Linux机器的IP地址,该项必须设置,否则远程连接会因为解析到127.0.0.1出现连接失败的情况。
//第三个参数是设置欲连接到Linux机器上的端口号,在不跟Linux中现有端口冲突的情况下,可随意设置该端口
//所以如果不知道Linux机器的用户名和密码,也可以不输入,直接连接,由于Dcom.sun.management.jmxremote.authenticate=false,设置成了false。
为指定连接IP情况下可修改hosts文件
1)使用命令查看 hostname -i 如果显示为127.0.0.1 127.0.0.1
2)修改/etc/hosts文件,将其第一行的“127.0.0.1 localhost.localdomain localhost”,修改为:“192.168.1.234 localhost.localdomain
localhost”,其中,“192.168.1.234”为实际的服务器的IP地址。
补充:由于配置了上述步骤2)文件,在停止tomcat的时,会由于上述配置的端口被占用而无法停掉。2种方式解决:
(1)使用killall -9 java 杀掉所有的java进程。
(2)在home/apache-tomcat--6.0.37/bin/catalina.sh中配置CATALINA_PID=pid,这样在停止tomcat的过程中,上述被占用的端口会自动被杀掉。