Jconsole监控本地及远程Java进程


Jconsole支持对本地和远程Java进程的监控。 

 

1.     监控本地Java进程

对于本地的Java进程很简单,只需要在启动需要监控的Java程序后,启动Jconsole,在本地进程列表中选择该进程点击“连接”按钮即可。例如,我们先启动JDK自带的另一个监控工具JVisualVM,然后启动JConsole:

在JConsole的本地进程列表中可以看到JVisualVM进程,选择并连接之。
 

2.    监控远程Java进程

2.1  设置远程监控相关选项

对于远程Java进程的连接,会要麻烦些,首先需要在需监控的远程Java程序启动脚本中加入与JVM远程监控相关的选项:
1)     开启JVM远程监控
        
-Dcom.sun.management.jmxremote=true

2)     监控的IP地址
         
-Djava.rmi.server.hostname=192.168.91.166,远程进程所在主机的IP。

3)     监控的端口
        
-Dcom.sun.management.jmxremote.port=50013,这个端口值可以任意设置,但在之后用Jconsole连接这个远程进程的时候,远程进程中的port一定要和此处的设置一致,并且一定不要和远程进程的服务端口区分开。

4)     是否禁用ssl验证
        
-Dcom.sun.management.jmxremote.ssl,false为禁用,true为启用。

5)     是否需要用户密码验证
        
-Dcom.sun.management.jmxremote.authenticate,false为不需要验证,true为需要验证。但我在Win7(32位、64位)中tomcat5.5.23下试着将该选项设置为true,tomcat无法启动,命令行窗口一闪而过。

        有试过象参考文献中所说的,修改jdk\jre及jre下的jmxremote.password和jmxremote.access,又有尝试象参考文献4中所说的,修改jdk\jre及jre下结果也是一样的。结果也是一样的management.properties,结果均一样的。
        
         有哪位遇到过,并解决了这个问题,如果看到这儿的,希望可以帮忙解答一下,先谢过了!! 


2.2  连接远程Java进程

有两种连接远程Java进程的方法,效果是一样的。


1)      命令行中连接远程Java 进程
        直接在命令行中启动JConsole的时候,带远程进程参数:
 

2)     JConsole图形界面上连接远程Java进程

先在命令行中不带远程进程参数启动JConsole,然后在JConsole新建连接对话框中选择远程进程,填入远程进程参数:,最后点击“连接”按钮。


参考文献

1.   http://space.itpub.net/23071790/viewspace-701205

2.   http://docs.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

3.    http://blog.csdn.net/lijiecong/article/details/6882267

4.    http://www.iteye.com/problems/34420


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM