jconsole,JDK5中所提供的一个java performance analysis tool,使用jconsole,在平时或异常情况出现时,不会让你很抓狂。
关于jconsole的介绍,可参考developworks的一篇文章http://www.ibm.com/developerworks/cn/java/j-5things7.html?ca=drs-
developworks中,对于远程配置并没有详细介绍如何去做配置,以下就是详细的配置步骤:
服务器端:
远程linux为例做介绍;
1,echo $JAVA_HOME
--echo %JAVA_HOME%
2. mkdir $JAVA_HOME/jconsole
3. cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password
4. chmod 600 $JAVA_HOME/jconsole/jmxremote.password
5. vi jmxremote.password 去掉#monitorRole RED前的注释并将RED修改为你要设置的密码。(安全起见,只开放有只读权限的用户)
6.
设置java启动参数:
-Dcom.sun.management.jmxremote.port=12345 #指定远程服务器的端口
-Dcom.sun.management.jmxremote.password.file=$JAVA_HOME/jconsole/jmxremote.password #指定远程服务器的用户认证
-Dcom.sun.management.jmxremote.authenticate=false #也可以使用禁止用户认证(可选)
-Dcom.sun.management.jmxremote.ssl=false
由于使用的是weblogic 10.3.2,所以在/app/Oracle/Middleware/user_projects/domains/epms/bin/目录下,修改startWebLogic.sh
在78行 SAVE_JAVA_OPTIONS处修改如下
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Dfile.encoding=utf-8 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.password.file=$JAVA_HOME/jconsole/jmxremote.password -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
7.
如果无法连接有可能是linux服务器的hostname存在问题
执行hostname -i ,如果显示的是127.0.0.1,则需要修改/etc/hosts文件
vi /etc/hosts,修改如下:
#127.0.0.1 localhost localhost.localdomain localhost
服务器的真实IP地址 localhost localhost.localdomain localhost
8. 启动java应用程序
本地windows tomcat为例:
1. echo %JAVA_HOME%
2. mkdir %JAVA_HOME%\jconsole
3. copy %JAVA_HOME%\jre\lib\management\jmxremote.password.template %JAVA_HOME%\jconsole\jmxremote.password
4. edit %JAVA_HOME%\jconsole\jmxremote.password 去掉#monitorRole RED前的注释并将RED修改为你要设置的密码。
5. 设置java启动参数:
本地tomcat为apache-tomcat-6.0.28
在%TOMCAT_HOME%\bin\catalina.bat中设置
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.password.file=%JAVA_HOME%\jconsole\jmxremote.password -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
6. 启动JAVA应用程序客户端:
1. 打开cmd窗口,输入jconsole
2. 指定连接参数:
远程主机: 服务器的真实IP地址
端口: 12345($JAVA_ARGS中-Dcom.sun.management.jmxremote.port指定的端口)
用户名: controlRole (jmxremote.password中指定的用户名)
密码: R&D(jmxremote.password中设置的密码)
如果不需要用户验证,不用输入用户名密码
3. 连接 -> OK。。。
上述配置内容参考地址:http://www.blogjava.net/thisliy/archive/2009/02/16/254890.html
感谢作者的分享!
keywords: “jconsole remote”