`

jmx远程访问关键设置

    博客分类:
  • java
 
阅读更多

前段时间在排查问题过程中我使用了jprofiler远程进行了jvm资源使用情况的监控,从系统的损耗来看,jprofiler对系统资源尤其是内存的消耗是非常庞大的。当时配置的jprofiler内存使用上线是1G,后来发现系统内存在整个测试过程中出现持续上涨的趋势,最后稳定在3G左右(JVM的内存我们配的上限值是2G)。

从这个情况来看,如果我们要在测试过程中利用图形界面的形式实时监控jvm内存的使用情况,使用jprofiler是不合适的;在对几个性能测试工具进行评估后,我们最终选定了visualvm进行我们的java资源监控,下面我将讲述一下如何配置visualvm监控jvm资源以及在监控过程中visualvmserver上面的性能消耗情况

 

1. 如何配置visualvm监控

visualvm支持在linuxwindows上启用图形界面监控jvm的资源,基于目前我们的server资源比较紧张,而且从监控方便的角度来分析(我们现有serverlinux系统是关闭图形界面的,如果要支持visualvm的图形显示需要安装插件),我推荐在自己的windows环境中安装监控的客户端

Visualvm目前支持两种remote connection方式,分别是jstatdJMX方式;我看了一下官方的说明文档,如果是针对jboss的监控,官方还是推荐使用JMX的方式监控,因此下面我就讲述一下如何在server端以及客户端配置JMX方式监控的visualvm

1)首先要修改JDKJMX服务的配置文件,以获得相应的权限:

进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,

a. jmxremote.password.template文件复制为jmxremote.password

b. 调整jmxremote.accessjmxremote.password的权限为只读写,可以使用如下命令

chmod 600 jmxremote.access jmxremote.password

c. 打开jmxremote.password文件,去掉

# monitorRole QED

# controlRole R&D

这两行前面的注释符号

2)修改env.sh

打开env.sh文件,并在JVM的启动配置中添加如下信息:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218  其他配置

这几个配置的说明如下:

-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用

-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:这两个是固定配置,是JMX的远程服务权限的

-Djava.rmi.server.hostname:这个是配置serverIP的,要使用serverIP最好在机器上先用hostname –i看一下IP是不是机器本身的IP,如果是127.0.0.1的话要改一下,可以不用修改,否则远程的时候连不上,目前我们的server上我已经都改好了

3Windows客户端配置

JDK 1.6版本自带visualvm,只需要进到bin目录下启动即可

启动后页面比较简洁,配置也很简单:

a. 点击左侧菜单的add Remote host,输入serverIP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)

b. 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了,如下:

使用visualvm远程监控JVM

分享到:
评论

相关推荐

    JMX 远程服务器信息监控

    在本场景中,我们关注的是如何利用JMX来远程监控服务器上的关键资源,如CPU利用率、内存状态、已加载类的数量以及堆内存信息。下面将详细探讨这些知识点。 一、JMX 概述 JMX 是一种服务导向架构,它定义了管理和...

    jmx-tools.zip

    2. `jmxremote`:这部分可能包含配置JMX远程访问所需的库和文档,比如`jmxremote.password`和`jmxremote.access`文件,它们用于设置JMX远程连接的安全性。 3. `jmxri.jar`和`jmxtools.jar`:这两个JAR文件是JMX RMI...

    jmx相关jar包

    它包含了支持JMX远程连接的类和配置,允许你从远程主机或不同的Java虚拟机(JVM)中管理和监控应用程序。通常,你需要将这个库与`jmxri.jar`一起使用,以启用JMX服务的远程连接。这包括了JMX Remote Lifecycle API,...

    jmx所需的jar

    JMX远程接口允许管理员或管理系统从远程位置对Java应用程序进行管理。它扩展了基本的JMX功能,使得管理者可以通过网络来连接到MBean服务器,执行操作、获取属性值或接收通知。这个版本可能包含了RMI(Remote Method ...

    jmx-1.2.1(jmxri+jmxtools) jar

    jmxri.1.2.1.jar包含了实现JMX远程协议的类和接口,使得管理者能够通过网络来监控和控制运行在不同机器上的Java应用。这个库提供了RMI(Remote Method Invocation)实现,使得JMX代理(MBeans)可以被远程调用和管理...

    jmxri-1.2.1

    JMXri(JMX Remote Interface)是JMX的一部分,实现了JMX规范中的远程访问功能,使得管理者能够远程控制和监控Java应用,无论是本地还是分布在不同网络上的应用。 【压缩包子文件的文件名称列表】中的`jmxri-1.2.1....

    jmxdemo.rar

    代理则允许远程访问MBean服务器,使得在不同网络环境下的系统间可以进行管理操作。 在jmxdemo中,服务端部分通常会实现MBeans,注册它们到MBean服务器,并启动监听器以接受来自客户端的连接请求。这些MBeans可以是...

    Hbase和Hadoop JMX监控实战

    1. 配置Hadoop和HBase的JMX服务,开启JMX监听端口,并确保防火墙设置允许远程访问。 2. 安装和配置JMX客户端工具,如jconsole、jmxterm或自定义脚本。 3. 连接并查询HBase和Hadoop的MBeans,获取需要的监控数据。 4....

    JMX1.4规范中文版

    JMX远程API规范定义了如何通过网络连接到代理层,以便远程管理和监控应用。这一层涉及到连接器、远程连接器、一般连接器等,这些连接器可以将本地的JMX代理暴露为远程服务,从而实现对本地和远程资源的统一管理。 ...

    JMX-how-to-use.rar_jmx_服务器_远程监控 文件

    3. **JMX远程监控** 要实现远程监控,需要配置JMX RMI服务,让JMX服务器暴露一个RMI注册表,允许远程客户端连接。这通常涉及到在Java虚拟机(JVM)启动时添加特定的系统属性,如`com.sun.management.jmxremote`、`...

    jmx中包含的主要API

    在这个文档中,我们将深入探讨 JMX 中的关键 API,特别是 `javax.management.remote` 包中的 `JMXAuthenticator` 和 `JMXConnectionNotification`。 首先,我们来看 `JMXAuthenticator` 接口。这个接口定义了远程...

    JMX、MXBean学习

    6. **安全性**:JMX支持安全管理,可以通过设置权限来控制谁可以访问和操作MBeans。 7. **使用场景**:JMX常用于性能监控、日志管理、配置管理以及健康检查等任务。例如,你可以通过JMX监控Tomcat服务器的线程池...

    JMX入门的好资料啊

    最后,代理允许远程访问和管理MBeans,使你能够在不同的网络环境中跨进程或跨机器管理资源。 JMX使用三种类型的MBeans:标准MBeans、动态MBeans和模型MBeans。标准MBeans基于预定义的接口,动态MBeans则能动态地...

    jmx简单实例,附带jar包完整项目

    - `jmxri-1.2.1.jar`:JMX Remote Lifecycle API,实现了JMX的远程访问功能,使得我们可以远程监控和管理应用。 - `jmxtools-1.2.1.jar`:包含了一些JMX工具,如JConsole,用于图形化地查看和管理Java应用程序的...

    java jmx操作示例源码

    5. **JMX连接器**:为了远程访问MBean,我们需要设置JMX连接器。这可能包括RMI(Remote Method Invocation)JMX连接器或JMXMP(JMX Message Protocol)连接器,它们允许外部工具或应用程序连接到JMX服务器。 6. **...

    jmx.rar_jmx

    4. **代理(Proxy)**:在客户端,可以使用JMX代理来访问远程MBeanServer。代理类提供了与MBean相同的方法,简化了对远程资源的调用。 5. **连接器(Connector)**:JMX连接器提供客户端与MBeanServer之间的通信。...

    jmxtools-1.2.1.jar和jmxri-1.2.1.jar

    `jmxtools-1.2.1.jar` 和 `jmxri-1.2.1.jar` 是与JMX相关的两个关键库,它们在Java环境中提供JMX功能的支持。 1. **jmxtools-1.2.1.jar**: 这个库包含了JMX的客户端工具和API,主要用于远程连接到运行着JMX服务器...

    最简单JMX例子

    4. **管理接口暴露**:可能通过JMX的RMI或者JMX Connectors暴露MBeanServer,使得远程客户端能够访问。 5. **客户端工具**:使用JConsole、VisualVM或其他支持JMX的工具,连接到MBeanServer,查看和操作MBean。 ...

    基于JMX的IT系统管理关键技术研究与实现

    然后,通过设置适当的JMX代理,允许中心控制台远程访问这些MBean服务器。这样,就可以实现对整个系统的集中监控和管理。 #### 六、结论 基于JMX的IT系统管理关键技术为现代IT系统提供了强大的监控和管理能力。通过...

    jmx相关jar包:jmxtools-1.2.1.jar +jmxri-1.2.1.jar+ jms-1.1.jar

    例如,你可以用JMX创建自定义的MBeans来暴露应用程序的关键指标,然后通过JMXRI实现远程访问,而JMS可以用来在不同的管理节点之间传递这些信息,实现远程监控和报警。 在实际开发中,为了保证兼容性和稳定性,这些...

Global site tag (gtag.js) - Google Analytics