运用VisualVM和jstatd来远程监控JVM虚拟机的信息

内存泄漏、性能瓶颈是Java项目开发中经常遇到的问题,这些问题包括配置文件初始化未用单列模式、数据表连接为关闭、文件系统的连接为关闭、数据库的连接未释放等,在性能测试或者程序长时间运行时,这些问题很容易导致系统的奔溃,特别是在大数据应用程序开发中,监控远程服务器上的JVM状态,是必须掌握的一项技能,本文通过运用VisualVM和jstatd工具来查看远程的虚拟机信息。

VisualVM :

Java JDK自带的一个性能分析工具,该工具可以从程序中获取实时数据,让使用者可以高效地对在JVM上运行的程序进行动态性能分析。

深度阅读资料:

VisualVM性能分析及调优:https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/

 

jstatd:

一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息,默认端口1099。

深度阅读资料:

Jstatd命令:http://blog.csdn.net/fenglibing/article/details/17323515

 

详细配置操作步骤:

步骤一:在Linux服务器JDK的安装bin目录下创建jstatd.all.policy文件,文件的内容如下:

(例如安装路径:/{java的安装路径}/jdk1.7.0_79/bin)

// By Alex for gc monitor

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

步骤二:在Linux服务器上运行如下脚本,例如:

/usr/java/jdk1.7.0_79/bin/jstatd -J-Djava.security.policy=/usr/java/jdk1.7.0_79/bin/jstatd.all.policy &

步骤三:进入Windows 7操作系统中JDK的安装路径(例如:C:\Program Files\Java\jdk1.7.0_75\bin),找到exe程序,双击运行程序。

步骤四:在弹出的页面,在左边的树形结构中,选择“远程”,添加远程的服务器IP,之后确认即可,如下图所示:

步骤五:通过上面的配置,就可以找到监控JVM实时应用状态。

 

参考资料:

Visual VM 官网:https://visualvm.github.io/

Visual VM故障排除指南:https://visualvm.java.net/troubleshooting.html?Java_VisualVM

Visual VM 扩展指南:https://visualvm.java.net/api-quickstart.html?Java_VisualVM

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: