使用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部分参数介绍

  传送门

 

posted @ 2020-04-23 15:10  躲猫猫的猫  阅读(337)  评论(0编辑  收藏  举报