我们的目的是通过配置环境变量,通过jconsole监听到JVM.
一、配置JDK的环境变量
1.因为jconsole.exe是jdk的bin目录下自带的监控JVM的工具,所以第一步需要先配置好jdk的环境变量,我使用的jdk版本是1.7.0_55。
①右键桌面上“我的电脑”>>“属性”,在弹出的页面上点击“高级系统设置”。
②弹出的“系统属性”窗口中“高级”标签页下点击“环境变量”按钮
③在弹出的“环境变量”窗口中,点击下方的“新建”按钮,在弹出的“新建系统变量”窗口中,新建一个名为“JAVA_HOME”的环境变量,变量值为Java的安装路径,我的路径是C:\Program Files\Java\jdk1.7.0_55;
④设置Path环境变量,该变量已经存在,所以在列表中选择Path,点击下方的“编辑”按钮,在弹出的窗口中添加如下信息:%JAVA_HOME%\bin;
⑤新建一个名为“classpath”的环境变量,变量值为:.\;%JAVA_HOME%\lib\dt.jar;\%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin;
⑥在配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为 java -version
二、设置Linux下tomcat的配置
1.catalina.sh的目录是/usr/local/tomcat/apache-tomcat-7.0.41/bin
2.#vi catalina.sh,在catalina.sh中加入如下一行(记住,是一行):
JAVA_OPTS="-Xms128m -Xmx256m -Xss1024k -XX:PermSize=128m -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1091 -
Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
3.重启Tomcat 并打印日志 sh startup.sh && tail -f ../logs/catalina.out
4.打开jconsole
5.点击连接,发现连接不上:
6.问题分析:原来怀疑是不是因为本地的jdk与虚拟机上的jdk版本不一致导致连接不上。
经过网上查看资料,发现说法是安全连接失败是否以不安全方式连接的处理方式,具体有待深入学习:
7.于是在catalina.sh中加入-Djava.rmi.server.hostname =192.168.43.200
其中192.168.43.200是我虚拟机的ip地址
三、所以最终经过调试ok的结果是在catalina.sh中加入如下一行:
JAVA_OPTS="-Xms128m -Xmx256m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=128m -Djava.rmi.server.hostname=192.168.43.200 -Dcom.sun.management.jmxremote -
Dcom.sun.management.jmxremote.port=1091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
各参数的解释:
-Dcom.sun.management.jmxremote.port=1091远程监听端口.
-Dcom.sun.management.jmxremote.ssl=false是否加密连接
-Dcom.sun.management.jmxremote.authenticate=false是否密码访问
2.打开jconsole
3.监听成功,监听的结果如图: