启动visualVM的两种方式

Posted lhever_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了启动visualVM的两种方式相关的知识,希望对你有一定的参考价值。

1 visualVM 使用JMX连接

a 拷贝并改名字到路径:(/app/java/jdk1.8.0_151是java home目录)
源文件:
/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password.template,
拷贝并改名后:
/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password

b 并取消注释jmxremote.password 中的如下2行
monitorRole  QED
controlRole   R&D



c 重新启动程序,启动程序时候添加如下参数(指定visualVM的远程端口9999, 远程主机和jmxremote.password路径):
 -Dcom.sun.management.jmxremote.password.file=/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/app/java/jdk1.8.0_151/jre/lib/management/jmxremote.access -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.33.65.9 -Dcom.sun.management.jmxremote.rmi.port=9999


d 打开visualVM, 新建远程连接,比以JMX方式, 指定主机, 端口, 用户monitorRole, 密码:QED即可连接VisualVM

注意:该方式不支持visualVM的VM GC插件, 查看GC, 可以使用jstatd方式连接

==================================================================================

  使用jstatd 启动visualVM:
 a  进入jdk bin目录:
  cd /app/java/jdk1.8.0_151/bin/

 b 创建文件:
  vim jstatd.all.policy


 c  写入如下内容:
  grant codebase "file:${java.home}/../lib/tools.jar" {
     permission java.security.AllPermission;
  };

  若没有配置 JDK 环境变量,file 后面添加 tool.jar 的绝对路径

  grant codebase "file:/app/java/jdk1.8.0_151/lib/tools.jar" {
       permission java.security.AllPermission;
    };


d 启动: $JAVA_HOME/bin下启动jstatd进程,启动命令如下,默认监听1099端口,此处修改为3333端口
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=10.33.65.9 -p 3333 -J-Djava.rmi.server.logCalls=true

参数说明:
-J-Djava.security.policy=jstatd.all.policy =号后面的是文件的绝对路径;
-J-Djava.rmi.server.logCalls=true 打开日志,如果客户端有连接过来的请求,可以监控到,便于排错;
-J-Djava.rmi.server.hostname=10.33.65.9 指明本机 hostname 对应的本机地址,确保该地址可以给客户机访问。因为有的服务器 hostname 对应的 ip 不一定是外网能连上的,最好在这里直接明确指定;
-p 3333 指定服务的端口号,默认是1099。也是可选参数。


使用 lsof -i:3333 查看端口是否正常被监听


jvisualvm 添加 ip 为192.168.134.128 端口为 3333 的远程机器,这样可以使用jstatd方式远程监控JVM

以上是关于启动visualVM的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

启动visualVM的两种方式

启动visualVM的两种方式

使用mybatis的两种方式

springboot项目启动成功后执行一段代码的两种方式

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

Windows启动MYSQL的两种方式