JMX 获取MBean信息

本文介绍了如何利用Java Management Extensions (JMX) 进行JVM监控,包括配置远程访问参数、编译及运行示例程序,并展示了如何通过jconsole进行连接及使用jmxclient获取特定MBEAN数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们都知道JDK里边自带的 jmap 命令可以获取到 JVM 的内存信息。为了实时监控 JVM 的状态,需要在一定的周期内持续获取数据。

通过搜索,知道了 JMX(Java Management Extensions)

JMX下载地址

jmx_example.zip下载地址

  • 解压 jmx_example.zip:

      unzip jmx_examples.zip
    
  • 编译com/example下的java程序:

      javac com/example/*.java
    
  • 运行Main:

      java -Dcom.sun.management.jmxremote.port=9999 \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false \
      com/example/Main
    

    注:-Dcom.sun.management.jmxremote.port 是为了指定需要远程监控时获取数据的端口。

    -Dcom.sun.management.jmxremote.authenticate=false 是指定是否需要验证。

    -Dcom.sun.management.jmxremote.ssl=false 通过SSL方式访问。

  • 在远程终端通过 JDK 自带的 jconsole 查看:

      jconsole
    

    然后就可以看到如图所示的界面:

    这里写图片描述
    在远程地址中输入IP:port后,点击连接就可以看到如下界面:

  • 通过 jmx client 方式获取 MBEAN ,例如获取Threading BEAN 下的DaemonThreadCount:

      java -jar jmxclient.jar - localhost:9999 java.lang:type=Threading DaemonThreadCount
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值