VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。
在JDK Update7之后,VisualVM作为JDK的一部分发布,但同时VisualVM也发布独立的版本。VisualVM必须运行在JDK1.6以上的VM环境下,但可以用它来监控JDK1.4以上的JVM。
VisualVM入门指南 https://visualvm.dev.java.net/zh_CN/gettingstarted.html
一,监控本机JVM
如果要监控本机的JVM运行情况,只要打开VisualVM,JVM会自动被添加到VisualVM中进行监控
如上图,VisualVM本身也是一个Java应用程序,因此它自己监控自己JVM的运行情况,只要双击Local –> VisaulVM,右边就可以进行各项指标的浏览。
注:读者看到的标签可能会随着安装的插件不同而有所区别,VisualVM的插件可以通过Tools –> Plugins 来安装
二,监控远程JVM
VisualVM监控远程JVM是通过RMI服务器来实现的,因此需要在被监控的远程服务器上启动RMI服务
1,启动RMI服务
在需要被监控的服务器上面,通过jstatd来启动RMI服务
首先,配置java安全访问,将如下的代码存为文件 jstatd.all.policy:
1
2
3
|
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
|
然后通过如下的命令启动RMI服务:
1
|
jstatd -J -Djava.security.policy=jstatd.all.policy
|
上面启动的RMI服务的端口是1099,如果需要以其它端口启动RMI服务,请查看官方文档:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstatd.html
2,启动VisualVM,添加远程主机
右键单击Remote,选择Add Remote Host,输入远程主机的地址
如果远程服务器启动了RMI服务,VisualVM会自动显示主机上面的JVM
关于VisualVM连接远程JVM的错误,请查看Troubleshooting connection problems in JConsole一文,此文总结了连接时会遇到的各种问题,我开始通过VisualVM连接虚拟机中的JVM,总是报:java.net.ConnectException: Connection refused: connect 错误,也是通过文章中所描述的关于通过NAT访问JVM问题解决的。
分享到:
相关推荐
通过以上步骤,开发者可以利用VisualVM有效地管理和监控JVM,及时发现并解决性能问题,提高Java应用的稳定性和效率。无论是本地还是远程,VisualVM都是一个强大且易用的JVM工具,值得在日常开发和调优工作中使用。
安装和配置VisualVM插件使得在Idea中监控JVM变得简单直观。通过VisualVM,开发者可以深入理解应用的运行情况,包括CPU、内存和线程的使用,这对于优化代码、排查问题、提升应用性能有着极大的帮助。除了基础功能,...
VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...
Java VisualVM 是 JDK 1.6 及以上版本中自带的一款性能监控工具,它允许用户监控本地或远程的 Java 虚拟机(JVM)进程的运行状况。它提供了丰富的监控和分析功能,可用于对系统资源,尤其是内存的消耗进行分析。在...
通过合理利用 VisualVM 及其集成的命令行工具,开发者能够有效地监控和分析 JVM 的内存使用情况,及时发现并解决内存泄漏、GC 效率低下等问题。掌握这些工具的使用方法,对于任何 Java 开发者而言都是必备技能。
**实例:使用VisualVM监控JVM** 1. 启动VisualVM。 2. 添加新的Java进程,选择应用程序对应的JVM进程。 3. 查看JVM的运行状态,包括内存使用、GC性能等关键指标。 #### 三、总结 JVM的GC调优和性能调优是提升Java...
2. **使用vmmap监控JVM:** - 打开终端,输入`vmmap <pid>`,其中`<pid>`是JVM进程的ID。 - 输出的信息中,关注`Private Dirty`列,它表示进程独占且已修改的内存,通常反映了内存的使用情况。 - 查看堆的各个...
* 监控远程 Java 应用:使用 VisualVM 还可以监控远程 Java 应用的运行情况,查看 JVM 相关信息、内存使用情况、CPU 消耗情况等。 * 查看 JVM 相关信息:使用 VisualVM 可以查看 JVM 相关信息,如堆栈信息、垃圾回收...
VisualVM是一款强大的Java虚拟机(JVM)监控和性能分析工具,由Oracle公司开发并提供。它集成了多种功能,包括内存分析、线程检查、CPU性能监视、类加载器和JMX bean的查看等,为Java开发者提供了深入洞察应用程序...
VisualVM 可以远程监控 JVM,需要在远程机器上启动 jstatd 守护进程, 并在本地机器上使用 VisualVM 连接到远程机器。 使用 VisualVM 可以: * 监控 JVM 的性能,包括堆内存、线程、类加载等信息 * 进行线程 dump ...
3. **CPU分析**:监控JVM中每个方法的CPU使用情况,找出耗时操作,有助于性能优化。 4. **JMX支持**:通过JMX(Java Management Extensions)接口,VisualVM可以管理远程应用服务器,获取其配置信息和运行状态。 5...
使用VisualVM查看JVM状态,步骤如下: - 下载并安装VisualVM,可以到Oracle官网找到最新版本。 - 运行VisualVM,添加目标JVM进程,通常会自动发现本地的Java进程。 - 在"Monitors"选项卡中,可以看到CPU使用率、...
#### 五、使用VisualVM监控远程主机 完成上述配置后,在本地计算机上启动VisualVM工具,选择“添加远程主机”选项,输入远程服务器的IP地址和之前设置的端口号,即可成功连接远程服务器并监控其上的Java应用程序。 ...
gp-jvm-visualvm提供的工具可以帮助我们实时监控和分析堆栈的使用情况,以便及时发现并解决此类问题。 VisualVM是Java平台的一个强大的多用途工具,它集成了一系列性能分析和故障排查功能。通过VisualVM,我们可以...
### VisualVM 使用详解 #### 一、VisualVM简介 VisualVM是一款由Oracle提供的免费、开源的可视化工具,用于监控和调试Java应用程序。该工具能够帮助开发者深入理解Java虚拟机(JVM)上的应用程序行为,提供了丰富的...
在使用VisualVM远程监控JVM之前,需要准备好测试环境。我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器...
VisualVM是一款强大的Java虚拟机(JVM)诊断和性能监控工具,由Oracle公司开发并提供。在Java开发和运维过程中,VisualVM可以帮助开发者深入了解应用程序的运行状态,进行内存分析、线程检查、CPU性能分析以及类加载...
6. **类和库信息**:你可以查看已加载的类、它们的大小和依赖关系,以及JVM使用的库。 7. **本地方法追踪**:对于混合编程(如Java与C/C++),VisualVM还可以追踪本地方法调用,这在排查跨语言问题时很有价值。 8....
监控JVM资源利用对于优化应用程序性能、排查问题以及确保系统稳定运行至关重要。VisualVM是一款强大的多合一JVM工具,它提供了一种直观的方式来查看和分析Java应用程序的资源占用情况。 VisualVM主要功能包括: 1....
- **监控功能**:远程监控功能与本地监控类似,可以监控内存使用、线程状态、CPU使用情况等。 #### 四、使用VisualVM进行高级调试 ##### 4.1 查看JVM相关信息 - **JVM概览**:提供JVM版本、系统属性等基本信息。 ...