JDK里面本身就带了很多的监控工具,如JConsole等。我们今天要讲的这款工具visualvm,就是其中的一款。但是这款工具是在JDK1.6.07及以上才有的。它能够对JAVA程序的JVM堆、线程、类加载情况、JVM GC情况进行监控,是一个很好的免费的监控工具。
监控范围:JDK1.4及以上版本的程序都能够监控。
它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当前最新版本是:
1.3.2,如下所示:
在图中已经列出了它的官方网站地址:
首先,打开visualvm,它会自动检索到本地机器上java应用程序,如下图:
双击它就可对它开始进行各项数据的监控了。
但是监控远程机器上的Java应用程序就没有这么简单了,需要进行相应的配置,首先我们来看下visualvm监控远程机器上Java应用程序的原理:
由上图可知,visualvm必须通过jstatd服务来取得远程机器上Java应用程序的运行数据。
所以我们得先在要监控的机器上启动jstatd服务(这个服务是在远程机器上启动的)
1、 首先在远程机器上配置好Java环境:
JAVA_HOME,CLASSPATH,PATH
配置完之后,在cmd里面通过:java -version和javac -version,确定Java环境配置完成
2、 创建一个文件:jstatd.all.policy(名字可以变,扩展名不可以变),内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
这个文件的作用是让jstatd服务能够读取机器上的java应用程序的运行数据
3、 把这个文件放到:%JAVA_HOME%\bin目录下。
4、 打开cmd,把目录切到:%JAVA_HOME%\bin目录下,然后执行如下命令:
jstatd -J-Djava.security.policy=jstatd.all.policy
这个时候,如果cmd是如下所示的状态,则说明jstatd服务启动成功
注:上面启动的jstatd服务,默认端口是1099,也可以在上面命令中指定端口号
按照上面的原理图,在远程机子上启动jstatd服务之后,visualvm就可以监控到远程机器上的JAVA应用程序了,按下面操作即可:
1、 在本地visualvm界面上添加远程主机:
在左边“应用程序”中,右击“远程”,选择“添加远程主机”
然后在弹出的对话框里面输入所要监控的远程主机的IP,如下所示:
刚开始进入时,不是这个对话框,点击“高级设置”就会展开余下的部分,就是上面所示的对话框,在里面可以设置远程机器上jstatd服务所用的端口号,默认是1099,可以通过勾选“显示名称”,在里面输入自己想要的远程主机名,最后点击确定即可。
2、 展开刚所新建的远程主机,就可看到运行在远程机器上的JAVA应用程序了,如下所示:
通过双击里面的应用程序,就可以像本地应用程序一样,对它进行监控了。
到此,visualvm远程监控部分算是完成了。
最后需要注意的一点是,jdk6上的visualvm不能够监控到jdk7上的java应用程序,即使jstatd服务成功启动也不行。
相关推荐
### VisualVM 使用详解 #### 一、VisualVM简介 VisualVM是一款由Oracle提供的免费、开源的可视化工具,用于监控和调试Java应用程序。该工具能够帮助开发者深入理解Java虚拟机(JVM)上的应用程序行为,提供了丰富的...
- **单独下载**:若使用的是较早的JDK版本或需要最新版本的VisualVM,可以访问其官方网站下载。 #### 三、VisualVM实战 ##### 3.1 启动VisualVM及其常见问题解决 - **Windows平台启动**:直接双击`jvisualvm.exe`...
用户只需安装最新版JDK即可使用VisualVM。具体步骤如下: - 从官方站点下载VisualVM安装包; - 解压安装包至指定目录; - 进入bin目录启动jvisualvm.exe。 ##### 2. 安装插件 VisualVM提供了丰富的插件支持,用户...
版本1.3.9 (2016-10-4 发布) VisualVM is a visual tool integrating commandline JDK tools and lightweight profiling capabilities. Designed for both development and production time use.
VisualVM是一个功能强大的Java虚拟机监控工具,它通过提供一个图形化界面来展示Java应用程序运行时的性能和资源使用情况,包括内存、CPU使用率和线程状态等信息。它不仅可以监控本地运行的Java应用程序,还可以配置...
9. **代码fans.net**: 这个可能是某个网站或者论坛的链接,可能提供了一些关于VisualVM使用的讨论、教程或资源,可以作为学习和解决问题的参考。 在研究VisualVM的源代码时,开发者可以了解到其内部是如何与JVM交互...
- Oracle官方文档提供了详细的VisualVM使用指南,是学习的基础资料。 - 社区论坛和博客文章中有很多实际案例和经验分享,可以帮助解决具体问题。 - 通过分析源代码,开发者可以提升对Java性能分析工具的理解,...
在使用"visualvm_215.zip"解压后的文件中,通常会包含VisualVM的可执行文件和必要的库文件。用户可以直接运行该程序来启动VisualVM,并连接到本地或远程的Java应用进行分析。 总的来说,VisualVM是一个强大且全面的...
Visual VM 1.3.8是该工具的一个版本,特别地,这个版本提供了中文界面,使得中国用户在使用时能更加便捷地理解各种功能和数据。 在Visual VM中,你可以进行以下主要的操作和分析: 1. **内存分析**:Visual VM可以...
下面将详细介绍如何在Idea中安装和使用VisualVM。 一、安装VisualVM插件 1. 打开IntelliJ IDEA,进入"File"菜单,然后选择"Settings"(如果你使用的是macOS,点击"Idea" -> "Preferences")。 2. 在设置窗口中,...
3. **VisualVM使用** VisualVM是一款强大的JVM诊断工具,包含了许多功能,如CPU和内存监控、线程分析、类加载器信息查看等。使用VisualVM查看JVM状态,步骤如下: - 下载并安装VisualVM,可以到Oracle官网找到最新...
VisualVM使用Swing进行用户界面的构建,源码中的数据显示和图表绘制部分,对于学习Java图形界面编程和数据可视化有一定的参考价值。 通过研究VisualVM的源代码,开发者不仅可以深入了解Java性能分析的底层机制,还...
VisualVM使用CPU采样技术来检测哪些方法消耗了最多的CPU时间。源代码中涉及到的采样算法和数据结构设计,如哈希表和优先队列,是理解和优化这一过程的关键。采样间隔、采样策略(全堆栈或单线程)等参数对结果的...
本文将详细介绍VisualVM的功能、使用方法以及它在性能优化中的重要作用。 1. **基本功能** VisualVM集成了多种Java诊断工具,包括JConsole、JMap、JStack等,提供了一站式的性能监控解决方案。它可以显示关于Java...
通过提供实时的性能数据,如内存占用、CPU使用率、线程状态和类加载信息,VisualVM帮助开发者快速定位和解决性能问题。 2. **JVM监控** 在VisualVM中,你可以详细查看JVM的运行情况,包括垃圾收集器的工作状态、...
VisualVM可以生成详细的性能报告,包括CPU使用率、内存分配、方法调用等,这对于识别性能瓶颈和优化代码至关重要。它能实时显示应用程序的运行状态,帮助开发者理解程序在不同条件下的表现。 2. **内存泄漏检测**...
在Java开发和运维过程中,我们常常使用Visual VM来诊断和优化应用性能。而JConsole则是另一个Java性能监视工具,它提供了GUI界面来查看和管理Java应用程序的性能和资源。JTop.jar是JConsole的一个插件,用于增强...
1. **JVM监控**:VisualVM可以实时显示JVM的各项指标,包括内存使用情况、垃圾收集状况、类加载数量等,帮助开发者了解JVM的工作状态。 2. **线程分析**:提供线程快照功能,可以查看当前所有线程的状态,包括阻塞、...
标题中的"visualvm中文版"指的是该工具提供了中文界面,使得中国用户在使用时可以更加便捷地理解和操作各项功能。这对于不熟悉英文的开发者来说,极大地降低了学习和使用的门槛。 描述中提到,VisualVM可以进行远程...
在使用 VisualVM 进行性能分析时,需要注意以下几点: 1. 选择合适的监视视图:根据实际情况选择合适的监视视图,例如 CPU 使用情况、内存使用情况、线程状态等。 2. understanding conversion dump:了解转储的...