VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,您可以方便、快捷地查看多个 Java 应用程序的相关信息。
简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。 可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。尽管VisualVM自身要在JDK6这个版本上运行,但是JDK1.4以上版本的程序它都能监控。
这里是VisualVM 的官方网站:https://visualvm.dev.java.net,资料很全,同时提供VisualVM最近版本下载。
如果你在windows上使用Visual VM,需要做的只是点一下jvisualvm.exe,就能启动它;绿色,好用。但是Visual VM所在的分区如果是NTFS格式,那么第一个问题就出现了:sun对NTFS格式的硬盘支持有问题!但可通过参数可避免,并完成启动。步骤如下:
1. 创建一个visualvm.exe的快捷方式
2. 在“目标”中添加如下参数 -XX:+PerfBypassFileSystemCheck
监视远程Java应用稍微复杂些。Visual VM是通过JMX来和远程Java应用联系的。 JMX:Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。 下面以192.168.0.249上的tomcat为例,叙述下监视远程Java应用的步骤如下:
1. 为249上的tomcat配置jvm启动参数。在tomcat的catalina.sh中添加如下参数: JAVA_OPTS=' -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -Xmn512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC"
其中-Dcom.sun.management.jmxremote.port=8999指定了JMX启动的代理端口;这个端口就是Visual VM要连接的端口
其中--Dcom.sun.management.jmxremote.ssl=false指定了JMX是否启用ssl\
其中-Dcom.sun.management.jmxremote.port=8999指定了JMX是否启用鉴权(需要用户名,密码鉴权)
在Visual VM添加远程连接的Host。邮件点Remote后点击Add Remote Host。192.168.0.249
使用JMX连接249的8999端口
连接JMX开始监控远程Java程序
可查看的内容
JVM的启动参数
JRE取得的系统参数
JVM的能力参数
Java应用出现了Perm溢出的问题,我们可以用Visual VM来诊断下。将程序部署到249上之后通过JMX运程访问;之后观察Monitor视图
分享到:
相关推荐
**VisualVM 简介** VisualVM 是一款强大的 Java 应用程序监控和诊断工具,它集成了一系列的 JDK 命令行工具,如 jps、jstat、jinfo、jmap、jstack 和 jhat,提供了一个统一的图形用户界面,方便开发者深入了解 Java...
1. **VisualVM简介** VisualVM是一个集成式的多用途工具,它允许用户监控本地和远程的Java应用。通过提供实时的性能数据,如内存占用、CPU使用率、线程状态和类加载信息,VisualVM帮助开发者快速定位和解决性能问题...
#### 二、VisualVM简介 VisualVM通过多种技术手段(例如jvmstat、JMX、SA以及Attach API)获取程序运行时的数据,并以此为基础进行动态性能分析。此外,VisualVM还会根据具体情况自动选择更为高效的技术方案,以...
1. VisualVM简介 VisualVM是一个开源的监控工具,它整合了jstat、JConsole、jstack、jmap和jinfo等JDK自带的命令行工具。这些命令行工具都是JDK的标准组件,可用于JDK1.4及以上版本的应用程序。VisualVM的目的是为...
一、VisualVM简介 VisualVM是由Oracle公司开发的一款免费工具,它基于JDK自带的JConsole和NetBeans平台构建,旨在提供一个统一的界面来监控和诊断Java应用程序。通过集成多种JDK工具,如jmap、jstack和jinfo,...
#### 一、VisualVM简介 **VisualVM** 是一款由Sun Microsystems(现已被Oracle收购)开发的免费、开源的工具,用于监视和调试基于Java的应用程序。它集成了多种原本独立存在的命令行工具,如`jstat`, `JConsole`, `...
1. **VisualVM简介** VisualVM是Oracle公司提供的一款免费工具,它集成了多个JDK诊断工具,如jconsole、jmap、jhat等,可以实时监控和分析Java应用程序的内存、线程、类、JVM参数等信息,特别适用于CPU和内存性能的...
#### 二、VisualVM简介 VisualVM是一款由Oracle公司提供的免费、开源的Java监控工具,它可以集成到JDK中,无需额外安装。通过VisualVM,用户能够轻松监控本地或远程Java应用程序的CPU使用率、内存消耗情况、线程分析...
Visual VM 简介 VisualVM 的图形用户界面提供了多个 Java 应用程序的相关信息,可以快速、方便地查看多个 Java 应用程序的详细信息。VisualVM 能够提供强大的分析能力,囊括多个 JDK 命令行工具,如 jstat, ...
一、JVisualVM简介 JVisualVM是Java Development Kit(JDK)的一部分,自JDK 6 Update 7开始被引入,它集成了多种Java性能分析和故障排查工具,如JConsole、JProfiler、Memory Monitor、Thread Monitor等。通过直观...
Java 自带的性能监控工具使用简介 Java 自带的性能监控...Java 自带的性能监控工具使用简介,包括 VisualVM 和 JConsole,这些工具可以帮助开发者快速监控和优化 Java 应用程序的性能,提高应用程序的性能和可靠性。
### JVisualVM简介 JVisualVM是Java平台的一个强大的可视化工具,它可以帮助开发者监测和调试应用程序的性能问题,特别是那些与内存管理相关的故障。作为NetBeans的一个子项目,JVisualVM自JDK 1.8起就已经被集成到...
一、JVisualVM简介 JVisualVM是Oracle JDK的一部分,它允许开发者在运行时检查和诊断Java应用程序。这个工具集成了多种功能,包括但不限于: 1. **内存监测**:实时查看堆内存使用情况,查找内存泄漏。 2. **线程...
一、JVisualVM简介 JVisualVM是一款图形化界面的工具,它集成了许多JDK诊断工具的功能,如jmap、jstack、jinfo等,使得开发者无需记住复杂的命令行操作,就能轻松进行性能分析。此外,JVisualVM还支持远程连接,...
#### SonarQube简介 SonarQube 是一款用于代码质量管理与环境搭建的强大工具,其核心价值在于帮助开发者在软件开发周期早期阶段发现并解决代码质量问题。SonarQube 支持多种编程语言,包括但不限于 Java、C/C++、C#...
6. **性能优化**:了解JVM内存模型和垃圾回收机制,使用VisualVM或JProfiler进行性能分析。学习如何调优启动参数,避免内存溢出。 7. **并发编程**:深入理解Java并发库,如线程池(ExecutorService)、并发容器...
### Java远程调试简介 Java远程调试是指在开发过程中,开发人员能够通过网络连接到远程机器上运行的Java应用程序进行调试的过程。这种方式可以有效解决由于部署环境差异导致的问题定位困难,尤其是在分布式系统和...