转:Jconsole的使用

http://www.blogjava.net/Alpha/archive/2008/11/20/241650.html
JDK中Jconsole的使用 
2008-04-03 14:16 
JAVA应用程序打成jar包的部署方式: 

一、Local方式 
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下: 
java -Dcom.sun.management.jmxremote -jar 程序名.jar 
(java -Dcom.sun.management.jmxremote -jar Java2Demo.jar)(测试例子Java2Demo.jar在C:\Program Files\Java\jdk1.6.0_02\demo\jfc\Java2D\) 

还出不来的话 直接 在dos里 jconsole 进程号 

2、启动jdk_home\bin目录下的Jconsole.exe就可以看到有一个 

本地的连接在里面。点击连接就可以进入相应的监视界面了。 

二、JMX方式(远程连接): 
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下: 
java -Dcom.sun.management.jmxremote.port=8903 - 

Dcom.sun.management.jmxremote.ssl=false - 

Dcom.sun.management.jmxremote.authenticate=false 
-Djava.rmi.server.hostname=192.168.***.*** 

2、启动jdk_home\bin目录下的Jconsole.exe点高级。在JMX 

URL:中输入语句如下: 

service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr 

mi 
点连接就可以进行远程监控了 



web应用程序在tomcat中部署JMX(示例:tomcat-6.0.14) 
1、启动tomcat\bin目录下的tomcat6w.exe,在JAVA_OPTS里设 

置如下: 
-Dcom.sun.management.jmxremote.port=8903 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Djava.rmi.server.hostname=192.168.***.*** 

注意:不能有空格,不然tomcat不能启动。 

2、tomcat启动成功后,就可以在另一台机器上启动 

jdk_home\bin目录下的Jconsole.exe点高级。在JMX URL:中输 

入语句如下: 

service:jmx:rmi:///jndi/rmi://192.168.***.***:8903/jmxr 

mi 
点连接就可以进行远程监控了 

以上是JMX基本部署,没有涉及到验证方面,如果使用的话,可 

能会有漏洞,因为SSL和authenticate设置为false的话,那么 

8903端口就有可能有暴露的危险。 

如果想进行密码验证话,可以在网上找资料,自己进行调试。 


我自己的应用: 
1.修改Linux下tomcat的bin目录下的catalina.sh文件 
添加 
JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.port=7080  
-Dcom.sun.management.jmxremote 
2.修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157. 
3.打开jconsole远程输入 10.0.0.157:7080 

三 

Eden Space (heap): 内存最初从这个线程池分配给大部分对象。 
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。 
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。 
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的, 
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache) 

================================================

使用 jconsole 监控 tomcat6 

catalina.bat

找到

set DEBUG_OPTS=
set JPDA=

在下面添加

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

保存

通过startup。bat启动 tomcat

启动jconsole (jdk1.6.0_02\lib):输入

localhost:1090

用户名 口令 为空

进入 即可 查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值