启动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的两种方式的主要内容,如果未能解决你的问题,请参考以下文章
14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段