• 使用VisualVm,JMX方式和jstate方式调用远程环境,查看JVM情况。


    目录:

    一.远程JVM添加账号

    二.远程java项目启动时增加监听接口

    三.本地VisualVm连接远程JVM

    四.jstate方式调用

    五.JVM部分参数介绍

    一.远程JVM添加账号

      我们找到服务器的 JAVA jre 的地址:

    java -verbose

      进入management 目录

      里面有这几个文件

       复制一份 jmxremote.password 文件

    cp -r jmxremote.password.template jmxremote.password

      准备修改改文件内容,注意如果文件没有修改权限记得加上

    chmod 600 jmxremote.password
    vim jmxremote.password

      增加 一个账号 和密码,用空格隔开。

      

       修改 jmxremote.access文件

    vim jmxremote.access

      拷贝一份配置,把名字改成自己的账号。

      

    二.远程java项目启动时增加监听接口

      启动Java项目的时候,添加JVM的参数。

    -Dcom.sun.management.jmxremote.port=8091
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
    -Djava.rmi.server.hostname=11.11.11.11

      四行配置分别是(远程调用请求的端口、是否要求ssl连接、是否认证、服务器的远程ip地址

      如果不清楚自己的远程ip地址 可以执行下面的命令。

    curl ifconfig.me

    三.本地VisualVm连接远程JVM

      打开VisualVm。添加远程主机 -- 输入远程 IP 地址 -- 确认。

       输入 项目启动时配置的 端口,JVM 添加的 管理员账号。确定。双击点开就可以看到JVM的运行情况了。

    四.jstate方式调用

       在JDK的 bin 目录下增加 jstatd.all.policy 文件。内容如下,地址改为自己的地址。

    [root@localhost /]# cd /usr/local/jdk1.8.0_181/bin/
    [root@localhost bin]# vim jstatd.all.policy
    
    grant codebase "file:/usr/local/jdk1.8.0_181/lib/tools.jar" {
       permission java.security.AllPermission;
    };

      在 bin 目录下,执行以下命令

    jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=11.11.11.11 -p 8090

     

    五.JVM部分参数介绍

      传送门

  • 相关阅读:
    计算机书籍.网址
    MVC是必知必用的
    技术
    三色旗帜分类
    巴斯卡三角形
    Centos安装wine等组件的问题
    some software that is used to speed up your system
    驾照考试系统之流程图
    用静态成员函数调用非静态成员变量
    MFC 进度条控件
  • 原文地址:https://www.cnblogs.com/zhaww/p/12760935.html
Copyright © 2020-2023  润新知