转帖:jconsole配置,具体还没有实践,后续追加实践效果

http://blog.163.com/shucker_gzb/blog/static/64514485200942385759235/

JDK中Jconsole的使用 

一、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)

 

**************************************************************************************************************************************

 

http://www.51testing.com/html/92/77492-243818.html

websphere、weblogic上JConsole的配置

上一篇 / 下一篇  2011-08-26 11:57:32 / 个人分类:监控服务器

一、在websphere上的配置:
 
 
1、打开was控制台:https://3.0.5.148:9043/ibm/console/,找到自己的应用程序服务器,打开后找到java进程,然后配置 通用JVM 参数 :
 
加入以下jvm参数:-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
 
等号后面保留空格,我也不知道为啥。
 
2、修改/app/IBM/WebSphere/AppServer/java/jre/lib/management>下的management.properties文件:
 
   com.sun.management.jmxremote.port=9999
   com.sun.management.jmxremote.authenticate=false   
   com.sun.management.jmxremote.ssl=false
 
分别找到他们,把前面的#去掉,加入自己的端口,确定使用9999端口前,执行netstat -ano | grep 9999,查看这个端口是否使用。
 
解决jconsole远程登录用户名密码问题
$JAVA_HOME\jre\lib\management目录有个jmxremote.password.template,在最下面两行就可以看到,把前面的#号去掉就生效了
 monitorRole  QED(用户名 密码,可以随意修改)
 controlRole  QED(用户名 密码,可以随意修改)
 
如果是Linux服务器,则要修改本地windows的IP编辑host文件
vi /etc/hosts
添加
#127.0.0.1              localhost localhost.localdomain localhost(先注释)
jconsole要访问的ip地址             localhost localhost.localdomain localhost(然后添加这一行)
 
使用hostname -i查看,返回的应该是jconsole要访问的ip地址,也就是weblogic机器的真实IP地址
 
 
3、在was控制台上停掉自己的应用程序服务器,然后重启。
 
 
 
4、使用我们的JConsole,远程连接。
 
 
 
二、weblogic
 
1、确保WLS使用Sun JDK,java -version
 
2、修改WLS配置文件
windows修改E:\bea\user_projects\domains\base_domainJMX\bin\setDomainEnv.cmd
添加set MEM_ARGS=-Xms512m -Xmx768m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false"
 
LINUX修改$Domain_HOME/bin/setDomainEnv.sh,为$JAVA_OPTIONS
添加-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
 
3、解决jconsole远程登录用户名密码问题
$JAVA_HOME\jre\lib\management目录有个jmxremote.password.template,在最下面两行就可以看到,把前面的#号去掉就生效了
 monitorRole  weblogic(用户名 密码,可以随意修改)
 controlRole  weblogic(用户名 密码,可以随意修改)
 
4、编辑host文件
vi /etc/hosts
添加
#127.0.0.1              localhost localhost.localdomain localhost(先注释)
jconsole要访问的ip地址             localhost localhost.localdomain localhost(然后添加这一行)
 
使用hostname -i查看,返回的应该是jconsole要访问的ip地址,也就是weblogic机器的真实IP地址
 
5、启动./$Domain_HOME/bin/startweblogic.sh
 
6、查看9004端口是否启动netstat -an | grep 9004
 
7、在本地jdk/bin目录下启动JCONSOLE程序,在窗口中选择“远程”选项卡,输入IP地址端口号:jconsole要访问的ip地址:9004,用户名/密码:monitorRole/weblogic
posted on 2014-12-17 14:48  麦兜布熊  阅读(172)  评论(0)    收藏  举报