什么是JMX?

什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用,详细内容可查看https://www.jianshu.com/p/8c5133cab858

JMX使用

在安装JDK开发工具包后,在bin目录中有jmc.exe、jvisualvm.exe、jconsole.exe,这三个工具都可以提供可视化界面来监控我们的Java程序运行状况,既可以连接本地程序,也可以监控远程环境,使用起来很方便,这里以jvisualvm.exe为例。

本地环境

在Java安装bin目录直接双击jvisualvm.exe启动,就可以看到本地监控程序,有启动的IDEA,如果有其他依赖于Java平台运行的程序也都会展示。

远程环境

连接远程环境,需要在Java程序启动的时候添加以下参数

  1. -Dcom.sun.management.jmxremote.port=server_port 远程连接需要开放的端口
  2. -Dcom.sun.management.jmxremote.ssl=false 禁止使用ssl连接
  3. -Dcom.sun.management.jmxremote.authenticate=false 不使用安全认证
  4. -Djava.rmi.server.hostname=server_ip 要连接的远程主机的IP

然后启动你的Java程序,可以添加在启动参数文件中,也可以用下面方式启动

  1. java -Dcom.sun.management.jmxremote.port=server_port -Dcom.sun.management.jmxremote.ssl=false 省略... -jar ./your_jar

启动远程程序后,在本地启动jvisualvm.exe,输入以下信息就可以连接了

Linux在Tomcat中指定参数:在bin/catalina.sh中添加下列参数

  1. CATALINA_OPTS="$CATALINA_OPTS
  2. -Djava.rmi.server.hostname=你的主机
  3. -Dcom.sun.management.jmxremote.port=需要被监控的端口,保证没有被占用即可随便指定
  4. -Dcom.sun.management.jmxremote.ssl=false
  5. -Dcom.sun.management.jmxremote.authenticate=false"

如果不能连接,检查远程服务是否启动成功,查看远程系统的防火墙是否开放端口,要确保你设置的端口没有被占用。

使用JMX连接JVM的更多相关文章

  1. visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决

    visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决 JMX方式: 编辑Tomact里bin目录的catalina.sh . 在其头部加入 JAVA_OPTS=" -Dco ...

  2. VisualVM通过密码JMX远程连接JVM

    如果本地安装了JDK,则在${java.home}/bin/下可找到jvisualvm.exe,双击打开即可使用.否则,去官网下载一个,解压即可使用.现有一个springboot程序springboo ...

  3. 开启JMX功能,使JVisvualVM能够连接JVM

    -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.manageme ...

  4. Jconsole与Jmx 分析JVM状况(上) 转

    出处:Jconsole与Jmx 分析JVM状况(上) JVM 平台提供 Mbeans 说明 在 Java 2 平台 5.0 以上版本,有一组 API 可以让 Java 应用程序和允许的工具监视和管理  ...

  5. Java_jvisualvm使用JMX连接远程机器(实践)

    https://my.oschina.net/heroShane/blog/196227 一.启动普通的jar程序 1.执行foo.jar启动命令 java -Dcom.sun.management. ...

  6. jvisualvm_使用jmx连接远程linux应用

    [前提] JVisualVM是由Sun提供的性能分析工具,在Jdk6.0以后的版本中是自带的,如果是用Jdk1.5或以前版本的就得要单独安装了. [1]远程机器需要开启jmx 在使用jvisualvm ...

  7. VisualVM通过ssl远程连接JVM

    VisualVM通过密码连接JVM实例如下 https://www.cnblogs.com/qq931399960/p/10960573.html 虽然设置了密码,但还是不够安全,只要获取到密码,在任 ...

  8. Jconsole与Jmx 分析JVM状况(下) 转

    出处: Jconsole与Jmx 分析JVM状况(下) 线程(ThreadMXBean ) 从 Jconsole 画面取得线程画面如下: 左下角列出了所以正在运行的线程.通过点击某个线程,右下脚可以看 ...

  9. JMX远程连接JVM

    -Dcom.sun.management.jmxremote :允许使用JMX远程管理 -Dcom.sun.management.jmxremote.port=9999 :JMX远程连接端口 -Dco ...

随机推荐

  1. leetCode练题——13. Roman to Integer

    1.题目13. Roman to Integer Roman numerals are represented by seven different symbols: I, V, X, L, C, D ...

  2. 04在eclipse当中使用gitee

    一.使用Bash连接GitHub时作了哪些事情 1.生成公钥 2.在GitHub上配置SSHKEY  3.创建关联 4.关联远程仓库 5.向远程仓库推送数据 6.拉取数据 二.把项目分享到gitee ...

  3. loadrunner回放时弹出windows安全警告

    在录制 https://www.baidu.com,回放时总是弹出安全警告. 处理方案:打开IE的internet选项-->隐私,设置成“接受所有Cookie”,如下图所示即可解决

  4. [read -p应用]插拔光模块去检查port present状态

    #!/bin/bash path="/sys/devices/platform/soc/fd880000.i2c-pld/i2c-0/i2c-4/i2c-15/15-0060" a ...

  5. 如何批量删除.svn文件

    参考资料:https://www.cnblogs.com/kisf/articles/4760367.html 当项目不需要SVN标志的时候,我们一般怎么办哪??可能很多人设置Windows显示隐藏文 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本居中对齐

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  7. 【原】python常用模块

    1.os模块 对操作系统中文件/目录等进行操作 2.sys模块 对python版本进行操作 3.正则re模块 4.datetime,date,time模块 5.hashlib,md5模块 hashli ...

  8. Spark入门:第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

    三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bi ...

  9. Linux CentOS7 VMware 安装PHP5 、安装PHP7

    一.安装PHP5 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/ph ...

  10. cookie、 Session Storage 、 Local Storage

    问题描述: 使用Ajax, Controller 传回来 JSON 字符串(待处理的信息) 在 Ajax 中实现页面跳转 window.location.href="/jsp/index.j ...