jconsole远程配置
博客专区 > top_dino 的博客 > 博客详情
jconsole远程配置
top_dino 发表于9个月前
jconsole远程配置
  • 发表于 9个月前
  • 阅读 7
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

背景

JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM。可以监控本地和远程的java程序。

这个对于查询内存使用情况和检查线程死锁非常有用。

 

无密码访问远程JVM


涉及到的参数如下:

-Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname

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

设置完后,需要根据这个端口来访问

-Dcom.sun.management.jmxremote.rmi.port=10052

这个端口很奇怪,如果不设置这个端口,虚拟机启动的时候,会生成一个随机的端口,而jconsole是需要去连接这个端口的,除非关闭防火墙

因为服务器一般只能开放指定的端口,所以这儿端口一定要设置,并且一定要在防火墙中开放这个端口

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

是否使用用户名密码登录

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

是否使用ssh连接

如:

java -cp . -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=114.112.xxx.xxx -Dcom.sun.management.jmxremote.port=10051 -Dcom.sun.management.jmxremote.rmi.port=10052 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false Test

其中hostname,一定要用本机的实际IP

配置完这些端口后,直接使用命令行:

jconsole 114.112.xxx.xxx:10051

就可以登录了

带密码访问远程JVM

和无密码不同的地方:

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

这个参数设置为true,

同时需要修改一下

$JAVA_HOME/jre/lib/management/目录下的两个文件

chmod 600 jmxremote.password jmxremote.access

修改jmxremote.password,设置密码

设置完后,登录就可以了

如果需要监控tomcat的话,在$TOMCAT_HOME/bin/catalina.sh中加上:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=114.112.xxx.xxx -Dcom.sun.management.jmxremote.port=10051 -Dcom.sun.management.jmxremote.rmi.port=10051 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmx
    remote.ssl=false"

 

参考

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 375
×
top_dino
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: