zoukankan      html  css  js  c++  java
  • JvisualVM、JMC监控远程服务器

    1. 修改服务器上jmxremote.access与jmxremote.password,输入命令:
       find -name jmxremote.access


      进入该jmxremote.access文件所在目录中,输入命令:
      cd /usr/java/jdk1.8.0_91/jre/lib/management 

      路径要用到两个文件:(jmxremote.access和jmxremote.password)
      mv jmxremote.access.template jmxremote.access如果 jmxremote.access文件不存在,只有 jmxremote.access.template 文件时,需创建 该文件
      vi jmxremote.access


      mv jmxremote.password.template jmxremote.password  如果 jmxremote.password 文件不存在,只有 jmxremote.password.template 文件时,需创建 该文件
      vi jmxremote.password  


    2. 启动相应jar文件
      java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar jar包名

      例如

      java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar SpringMVCDemo-0.0.1-SNAPSHOT.jar


      java -Xms200m -Xmx1024m 
      -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar SpringMVCDemo-0.0.1-SNAPSHOT.jar

    3. 本机启动JvisualVM
      在 JDK的bin目录下双击jvisualvm.exe启动

    4. 在JavaVisuaVM中右击远程 -> 远程添加主机


    5. 右击该远程主机 -> 添加JMX连接

    6. 监控见面如下:
    7. 查看线程DUMP
       右击JMX连接图标,线程DUMP


      8堆DUMP
      右击jmx,堆dump,

      从远程机拷到本地

      文件 -> 装入

      就能看堆dump


      9. 堆比较




    添加jmx启动参数,踩过的坑

    添加jmx 参数

    -Dcom.sun.management.jmxremote=true 
    -Dcom.sun.management.jmxremote.port=123456 
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Dcom.sun.management.jmxremote.ssl=false 
    -XX:+UnlockCommercialFeatures 
    -XX:+FlightRecorder 
    -Djava.rmi.server.hostname=172.16.103.127

    1.jmxremote.password和jmxremote.access 权限问题

    注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限 ,

    权限不对,会报:

    Error: Password file read access must be restricted: /usr/java/jdk1.8.0_91/jre/lib/management/jmxremote.password
    Error: Password file read access must be restricted: /usr/java/jdk1.8.0_91/jre/lib/management/jmxremote.password

    调整文件权限

    [root@dog:management]# chmod 600 *

    [root@dog:management]# chown root:root *
    [root@dog:management]# ll

    2.添加jmx 启动参数,导致启动shell 脚本里格式不正确

    Error: Could not find or load main class
    Error: Could not find or load main class

    开始是直接将启动参数贴到启动shell脚本,导致启动失败。

    手工一行一行添加参数后,定位到最后一行-Djava.rmi.server.hostname=172.16.103.127 参数 可能是编码,格式的问题。

    手动将ip地址敲进去,问题解决。

  • 相关阅读:
    Vue--this.$refs 获取dom元素和组件(获取子组件的dom和方法)
    Vue评论案例--数据存放本地---联系子组件调用父组件方法(子组件点击发表-调用父组件更新评论列表)
    Spring系列教材 (五)- 注解方式 AOP
    Spring系列教材 (四)- aop 面向切面编程
    Spring系列教材 (三)- 注解方式 IOC/DI
    Spring系列教材 (二)- 注入对象
    Spring系列教材 (一)- 教程
    购物车系列教材 (五)- 订单模块
    购物车系列教材 (四)- 模块
    购物车系列教材 (三)- 用户模块
  • 原文地址:https://www.cnblogs.com/chenjiazhu/p/6308540.html
Copyright © 2011-2022 走看看