`
woshixushigang
  • 浏览: 581214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

配置远程jconsole监测tomcat

 
阅读更多

最近想要监测tomcat及内存情况,用到了jdk1.6自带的jconsole工具,我的系统是win7,输入ip地址及用户名密码时候总是丢失焦点,很烦人。

其实jdk自带了java VisualVM工具,个人感觉很好。

一、用putty连接服务器:


 

连接成功后,

 

echo $JAVA_HOME

 注意:windows下是 %%形式的,但是linux不是%%形式查看变量。

输出结果为:

 

/usr/local/jdk1.6.0_27

 

这是我jdk的路径。

 

下面是查看系统进程的命令:

 

 

ps -lef |grep java

 注意:top命令是查看系统各个进程的资源占用情况。

          ps  命令是查看系统进程情况。


此时能看到我的tomcat已经运行。

我需要关闭tomcat:

 

sudo /home/bit/local/tomcat/bin/shutdown.sh
 

注意:sudo是用超管权限执行此命令,输入密码即可。

 

二、 编辑tomcat下得catalina.sh文件

 

vim  /home/bit/local/tomcat/bin/catalina.sh

 

在 JAVA_OPTS后面加上:

 

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=6001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
 

注意:一定要有双引号,否则是无法连接成功的,会报连接失败,是否重试错误。

 

 -Dcom.sun.management.jmxremote.port=6001

是设置jmx 远程端口,

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

设置是否加密连接。

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

 设置是否密码访问。

 

  输入完之后保存并关闭,命令为: :wq!

如果想要将其他文件的内容放入此文件中输入:

r  b.txt

 或者想要将任何命令的结果放入此文件中命令如下:

r ! more b.txt

 此时b里面的内容就进入到当前文件中了。

 

编辑成功后输入命令启动tomcat

sudo /home/bit/local/tomcat/bin/startup.sh

 查看当前系统运行的进程:

 

ps -lef |grep java

 

查看设置的端口是否在监听中:

 

netstat -anp |grep 6001

   

 

此时已经知道端口处于监听状态。

 

三、启动 jvisualvm

 


输入ip及端口即可。

 

过程中遇到的问题:

 

1、当com.sun.management.jmxremote.authenticate=true(默认为true);并且jmxremote.password文件对其他用户权限设置过大,就会报如下错误信息:

 

Error: Password file read access must be restricted:

 

解决方案:

 

更改文件权限即可:

 

sudo chmod 700 jmxremote.password

 2、当com.sun.management.jmxremote.authenticate=true ,但是没有创建jmxremote.password文件,就会报如下错误信息:

 

Error: Password file not found: $JAVA_HOME/jre/lib/management/jmxremote.password

 

解决方案:

 

cp $JAVA_HOME/jre/lib/management/jmxremote.password.template  $JMXRemote_HOME/jmxremote.password

 

如果想修改jmxremote.password这个文件可以更改权限,之后再改回来即可:

 

sudo chmod 777 jmxremote.password

 

如果遇到关闭tomcat服务报:端口已经被占用的解决方案:

 

查看进程的pid

 

netstat -anp | grep 6001

 

后面能看到pid码

 

sudo kill -9 pid码
 

 

 3、如何设置密码?

 

 修改文见:

$JAVA_HOME/jre/lib/management/jmxremote.access , 修改原来角色的权限,或新建角色,如新建
xushigang readonly
继续修改文件:

在$JAVA_HOME/jconsole_pwd/jmxremote.password, 修改原角色的密码, 如把# monitorRole QED前的注释去掉,并且把密码QED修改为你的密码,  增加一行 xushigang thisispassword

对我很有帮助的文章:

http://blog.dev2dev.us/2011/03/monitor-with-java-visualvm/


 

  • 大小: 8.9 KB
  • 大小: 11 KB
  • 大小: 4.3 KB
  • 大小: 41.8 KB
0
1
分享到:
评论
2 楼 woshixushigang 2012-02-01  
你先登陆到你的javaeye,再看看呢。
1 楼 kimble 2012-01-31  
怎么没法收藏?

相关推荐

    JConsole远程监控Tomcat

    ### JConsole远程监控Tomcat服务知识点详解 #### 一、JConsole简介与功能 - **JConsole**: JConsole是一款基于Java Management Extensions (JMX) 的图形用户界面工具,旨在帮助开发者和运维人员监控正在运行的Java...

    jconsole+tomcat配置说明 附加Tomcat内存说明(基于jdk5.0).docx )

    【JConsole工具详解】 JConsole是Java Development Kit (JDK) 自带的一个强大的监测和管理工具,主要用于诊断和分析Java应用...对于基于JDK 5.0的Tomcat配置,确保JConsole的兼容性以及正确配置JMX代理是关键步骤。

    性能测试工具

    JConsole是Java Development Kit (JDK) 5.0及以上版本自带的一款性能监测工具。它主要用于监控Java应用程序的运行状态,包括但不限于内存使用情况、线程数、垃圾回收频率等关键指标。这对于了解Java应用在不同负载下...

    VisualVM操作手册.doc

    VisualVM是一款强大的Java应用程序性能分析工具,它整合了多种JDK命令行工具,如jstat、JConsole、jstack、jmap和jinfo,提供了丰富的可视化功能,帮助开发者深入理解Java应用程序在JVM上的运行状态。VisualVM不仅...

    VisualVM入门指南 使用说明 新手上路

    - **连接设置**:可以通过设置远程主机地址、端口等信息来监控远程服务器上的Java应用。 - **监控功能**:远程监控功能与本地监控类似,可以监控内存使用、线程状态、CPU使用情况等。 #### 四、使用VisualVM进行...

    VisualJVM使用指南

    以Tomcat为例,可以在环境变量中设置以下参数: ```bash CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun....

    JDK_Visual_VM操作手册

    Visual VM不仅是一个单一的工具,而是融合了多个JDK命令行工具,如jstat、JConsole、jstack、jmap和jinfo,使得用户能够以图形化的方式直观地分析和管理Java应用程序。 **1. Visual VM简介** Visual VM提供了对Java...

Global site tag (gtag.js) - Google Analytics