`

使用Java自带的VisualVM监控远程主机JVM内存使用情况

 
阅读更多

下面是使用JXM协议配置的简单的操作步骤,详细内容可以阅读文章后的参考资料。
1.远程主机

(1)修改JMX服务的配置文件:
  在JDK的根目录/jre/lib/management中,将jmxremote.password.template另存为jmxremote.password。
用文件编辑软件按编辑jmxremote.password去掉
  # monitorRole QED
  # controlRole R&D
  前面的#注释,保存。
  如果当前系统属于AIX、Linux或者Solaris系统还需要更改jmxremote.access和jmxremote.password的权限
为只读写,命令如下
  chmod 600 jmxremote.access jmxremote.password


(2)修改JVM的启动配置信息:

 

Windows系统
set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=<port> -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=<hostname>
-Dcom.sun.management.jmxremote.ssl=false

 

AIX、Linux或者Solaris
export JAVA_OPTS="-Dcom.sun.management.jmxremote.port=<port> -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=<hostname> 
-Dcom.sun.management.jmxremote.ssl=false"

例如:
set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.24
-Dcom.sun.management.jmxremote.ssl=false

 

配置的说明如下:
-Dcom.sun.management.jmxremote.port                           远程主机端口号的
-Dcom.sun.management.jmxremote.ssl=false                   是否使用SSL连接
-Dcom.sun.management.jmxremote.authenticate=false   是否开启远程服务权限
-Djava.rmi.server.hostname                                              远程主机名,使用IP地址

 

(3)重启服务。

 

2.本地主机配置

方法一
  进入<JDK_HOME>\bin目录,启动JConsole命令行工具。在JConsole的新连接中添加运程计算机信息。
<hostname>:<port>或者service:jmx:<protocol>:<sap>
例如:192.168.1.24:1099或者service:jmx:rmi:///jndi/rmi://192.168.1.24:1099
  <hostname> 检测服务器IP地址
  <port>     运程主机端口
方法二
  JDK 1.6以上版本包含了一个简单版本的jvisualvm.exe。在Remote上右键菜单中选择Add Remote host,输入运程计算机Host name,实际上就是要检测的远程计算机IP地址。在配置好的远程主机上右键选择Add JMX Connection...,按照方法一中要求的格式输入,远程主机信息。


参考:
[Java VisualVM 入门指南]
http://visualvm.java.net/zh_CN/gettingstarted.html
[Java VisualVM quickstart]
http://visualvm.java.net/api-quickstart.html
[Monitoring WASCE in JConsole][主要参考]
http://publib.boulder.ibm.com/wasce/V2.1.0/en/working-with-jconsole.html
[JDK中还藏着一个宝贝 它的名字叫做VisualVM]
http://developer.51cto.com/art/200906/130424.htm
[JVM内存监控:visualVM]
http://www.diybl.com/course/3_program/java/javajs/20100719/461823.html
sun 关于Java VisualVM的说明文档
http://download.oracle.com/javase/6/docs/technotes/guides/visualvm/intro.html

 

visualvm的下载地址如下:

下载地址:http://visualvm.java.net/

分享到:
评论
2 楼 jimoshutong 2015-06-30  
abc08010051 写道
(3)重启服务。 把linux重启了?

你被监控的应用程序啊,比如说监控的tomcat,因为改动了tomcat的配置,肯定要对tomcat服务进行restart了
1 楼 abc08010051 2015-05-12  
(3)重启服务。 把linux重启了?

相关推荐

    Java VisualVM监控远程JVM(详解)

    Java VisualVM 是 JDK 1.6 及以上版本中自带的一款性能监控工具,它允许用户监控本地或远程的 Java 虚拟机(JVM)进程的运行状况。它提供了丰富的监控和分析功能,可用于对系统资源,尤其是内存的消耗进行分析。在...

    JVM性能监控方法之visualVM1

    #### 五、使用VisualVM监控远程主机 完成上述配置后,在本地计算机上启动VisualVM工具,选择“添加远程主机”选项,输入远程服务器的IP地址和之前设置的端口号,即可成功连接远程服务器并监控其上的Java应用程序。 ...

    VisualVM使用方法

    VisualVM是一个功能强大的Java虚拟机监控工具,它通过提供一个图形化界面来展示Java应用程序运行时的性能和资源使用情况,包括内存、CPU使用率和线程状态等信息。它不仅可以监控本地运行的Java应用程序,还可以配置...

    新一代Java开发工具 可视化编辑 测试运维自动化.rar

    VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)...

    JAVA性能分析

    当Java应用程序出现内存溢出的情况时,可以使用Jvisualvm等工具来获取当前Java虚拟机(JVM)的堆文件,进而分析内存泄漏等问题。 1. **准备Jvisualvm工具**: Jvisualvm是JDK自带的性能监控和分析工具。在Windows...

    JMX配置与使用

    通过JMX,开发者可以创建管理接口,暴露应用程序的内部状态,如性能指标、资源使用情况等,以便于系统管理员进行远程监控和管理。 ### 1. 服务器端配置 在服务器端配置JMX,首先需要确保JVM启用了JMX支持。这通常...

    配置好的tomcat7.0服务器

    1. **JVM参数调优**:在`bin/catalina.sh`或`bin/catalina.bat`中,通过`JAVA_OPTS`环境变量设置JVM参数,如内存大小(-Xms, -Xmx),垃圾收集策略等。 2. **线程池配置**:在`server.xml`的`Executor`元素中,可以...

Global site tag (gtag.js) - Google Analytics