【深入浅出-VisualVM】(1):远程调试

栏目: Java · 发布时间: 4年前

内容简介:VisualVM 是一款免费的性能分析工具。它通过 JvmStat、JMX、 SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它 能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。核心技术是JMX,其中WebLogic和JBoss都是基于Jmx的。1.进入JAVA_HOME\jre\lib\management 目录,修改jmxremote.password.template为j

VisualVM 是一款免费的性能分析工具。它通过 JvmStat、JMX、 SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它 能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。

核心技术是JMX,其中WebLogic和JBoss都是基于Jmx的。

监控远程JVM

远程JVM配置

1.进入JAVA_HOME\jre\lib\management 目录,修改jmxremote.password.template为jmxremote.password 并且给予修改权限 chmod 600 jmxremote.password

2.打开jmxremote.password 去掉 #monitorRole QED 和 # controlRole R&D 的注释,这里存放的时候JMX远程授权的用户名和密码,其中用户名monitorRole 密码QED的只能普通监控,没办法用抽样器进行cpu,内存抽样,而用户名为controlrole 是具有所有权限的。这个用户名密码表也可以自己指定,后续加入 -Dcom.sun.management.jmxremote.password.file=pwFilePath

【深入浅出-VisualVM】(1):远程调试

3.在TOMCAT_HOME\bin目录的catalina.sh 第一行加入

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.23(jmx绑定远程主机ip)
-Dcom.sun.management.jmxremote.port=18999(Jmx远程监听端口)
-Dcom.sun.management.jmxremote.ssl=false(禁止使用ssl) 
-Dcom.sun.management.jmxremote.authenticate=false(不启用用户认证,启动则改为true)"

这些参数最终是传给JVM的,这里是为了方便。

附上JMX所有参数

参数 描述
com.sun.management.jmxremote true / false. Default is true
com.sun.management.jmxremote.port Port number. No default.
com.sun.management.jmxremote.ssl true / false. Default is true.
com.sun.management.jmxremote.ssl.enabled.protocols Default SSL/TLS protocol version.
com.sun.management.jmxremote.ssl.enabled.cipher.suites Default SSL/TLS cipher suites.
com.sun.management.jmxremote.ssl.need.client.auth true / false. Default is false
com.sun.management.jmxremote.authenticate true / false.Default is true
com.sun.management.jmxremote.password.file JRE_HOME/lib/management/jmxremote.password
com.sun.management.jmxremote.access.file JRE_HOME/lib/management/jmxremote.access
com.sun.management.jmxremote.login.config Default login configuration is a file-based password authentication

4.重启tomcat,让配置生效。

VisualVM配置

1.文件->添加远程主机->点击高级设置->输入远程主机IP和端口号,调整好刷新时间

【深入浅出-VisualVM】(1):远程调试

【深入浅出-VisualVM】(1):远程调试

2.打开

【深入浅出-VisualVM】(1):远程调试

这里可以看到JVM的启动参数,这里我还添加过远程调试的参数啦。

注意:远程连接生产JVM的时候,如果在Visual在分析期间崩溃掉,那么生产的JVM也会崩溃掉,因为设置此 JVM 启用类共享,这会导致在对应用程序进行性能分析时出现问题,甚至最终导致应用程序崩溃。请参见《VisualVM Troubleshooting Guide》(《VisualVM 故障排除指南》)

好啦,VisualVm调试之旅开始啦~~~


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Rails Cookbook

Rails Cookbook

奥西尼 / 江苏东南大学 / 2007-6 / 68.00元

Rails是业界领先的新一代Web 2.0应用程序开发框架,而这本《Rails Cookbook》里充满了为了让你成为Rails开发专家而准备的各种解决方案。讨论范围覆盖了从基本概念,如安装Rails及设置开发环境,到最新的各种技巧,如开发符合REST协议规范的Web服务等。 Rails可提供更轻量级的代码、更丰富的功能和更快捷的量身定制过程,由此带来了一场Web开发革命。《Rails Co......一起来看看 《Rails Cookbook》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具