VisualVM 之 JMX

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 14:34   84   0

在VisualVM + Jstatd 监控的时候,是Java进程的CPU、线程、MBean信息。如果要获取这些信息那就需要用到JMX方式了。

自JAVA6之后,java程序在启动之后都会在JVM内部创建一个JMX Agent,JMX Agent 会启动一个MBean server组件,把MBeans注册到它里面,然后暴露给JMX client。简单来说就Java程序可以通过JMX 暴露给JMX client。而这个JMX client 就是VisualVM。

启用JXM

在启动Java程序的时候,必须带上几个JMX 相关的System properties 参数

java -jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2223 -Dcom.sun.management.jmxremote.rmi.port=2223 -Djava.rmi.server.hostname=192.168.124.18 visualvmtest-0.0.1-SNAPSHOT.jar

比如启动一个jar,里面就一个线程计算。参数如下:

-Dcom.sun.management.jmxremote #开启远程
-Dcom.sun.management.jmxremote.port=2223 #开启jmx监控的端口
-Dcom.sun.management.jmxremote.ssl=false #是否开启ssl(生产环境使用这种方式)
-Dcom.sun.management.jmxremote.authenticate=false #是否需要权限认证(账户密码)
-Djava.rmi.server.hostname=192.168.124.18” #本机IP地址

程序正常启动之后就可以使用client进行连接了。

PS:使用SSL方式在另一篇文章中介绍。

使用visualVM链接

在这里就可以监控到一些信息了

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP