VisualVM下载-VisualVM下载 v2.0.7中文版(java调优工具)

VisualVM v2.0.7 中文版更新

语言:简体中文

大小:17.3M

类别:应用工具

时间:2025-04-01

软件介绍

  • VisualVM v2.0.7 中文版更新

VisualVM是一款综合性强大的可视化工具,它集成了多个JDK命令行,能够高效地进行JAVA应用程序的性能分析、优化和调整等操作。它主要用于对JAVA程序进行性能分析与调优,具备内存优化、CPU分析、线程监控、快照分析、转储分析等众多强大功能。此外,它还支持在MBeans上进行浏览和操作。需要进行JAVA调优的用户,不妨尝试一下这款实用的VisualVM工具。

VisualVM(java调优工具)

安装步骤

VisualVM是一个性能分析工具,从JDK 6 Update 7开始,它已成为Oracle JDK的一部分,存放在JDK根目录下的bin文件夹中。虽然VisualVM需要在JDK 6及以上版本运行,但它可以监控JDK 1.4及以上版本的应用程序。以下将介绍如何安装VisualVM以及如何为其安装插件。

一、安装VisualVM

1. 解压VisualVM安装包到本地系统。

2. 进入VisualVM安装目录的bin文件夹,找到并启动jvisualvm.exe。

二、安装VisualVM插件

VisualVM的插件中心提供了许多插件,用户可以通过应用程序内安装,也可以从插件中心手动下载并离线安装。除此之外,用户还可以通过下载插件分发文件(.nbm文件)来安装第三方插件。

1. 插件安装步骤:

从主菜单选择“工具”>“插件”。

在“可用插件”标签中,勾选所需插件旁的“安装”框,然后点击“安装”按钮。

按照安装向导完成插件安装。

2. 离线安装插件:

从主菜单选择“工具”>“插件”。

在“已下载”标签中,点击“添加插件”按钮,选择下载好的插件分发文件(.nbm),然后点击“打开”。

选择打开的插件文件,点击“安装”,按提示完成安装。

VisualVM的主要功能

一、性能分析的主要方法

1. 监视:监视是观察应用程序运行时行为的一种基本方法。通过多个视图,VisualVM能够实时显示CPU、内存使用情况、线程状态等信息,帮助用户迅速找出性能瓶颈。

2. 转储:性能分析工具从内存中获取当前状态数据并保存至文件,用于后续的静态分析。Java程序可以通过在启动时添加特定参数来触发转储操作,转储方式包括:

系统转储:由JVM生成的本地系统转储,也叫核心转储。通常数据量较大,需要平台特定工具如Windows上的windbg和Linux上的gdb来分析。

Java转储:JVM内部生成的格式化数据,包括线程信息、类加载信息以及堆的统计数据,常用于死锁检测。

堆转储:JVM将所有对象的堆数据存储到文件中。

二、快照:

在应用程序启动后,性能分析工具开始收集各种运行时数据。部分数据会实时显示在监视视图中,其余数据则在用户要求时以快照形式显示。快照包含应用程序在特定时间段内的执行信息,常见的快照类型有CPU快照和内存快照。

CPU快照:主要展示应用程序中各函数的调用关系及其执行时间,可以通过CPU快照视图查看。

内存快照:主要展示内存的分配与使用情况,加载的类、对象信息及其相互引用等。内存快照信息可以在内存快照视图中查看。

三、性能分析:

性能分析通过收集程序执行过程中的数据,帮助开发人员识别和优化程序的瓶颈,从而提高程序的运行效率或内存利用率,主要涉及以下三方面:

CPU性能分析:CPU分析的目标是统计函数调用频次及执行时间,或者更简单地分析应用程序的CPU使用情况。CPU性能可以通过CPU监视和CPU快照两种方式查看。

内存性能分析:内存性能分析帮助检测内存泄漏问题并优化内存使用,通常通过内存监视和内存快照来展示分析结果。

线程性能分析:线程性能分析帮助识别多线程程序中的内存问题,分析线程状态变化、死锁情况等。

VisualVM的特色功能

1. 运行内存分析
通过分析JVM中加载的类与对象信息,VisualVM可以帮助用户优化程序的内存使用情况。利用VisualVM的监视和Profiler标签,用户可以进行内存分析。
2. CPU性能分析
VisualVM可以监控程序在一定时间内的CPU使用情况,显示CPU利用率、运行效率等数据,帮助发现程序的性能瓶颈。通过监视和Profiler标签,用户可以对应用程序进行CPU性能分析。
3. 进程分析
Java程序可以有效实现线程同步。对线程同步应用进行校准时,通常需要了解程序中所有进程的状态,分析死锁、热锁等问题,进而发现系统可能存在的不足。
4. 快照分析
VisualVM的快照功能允许用户捕获并保存性能分析数据,便于离线分析。捕获的快照可以在无网络环境下进行查看,且支持不同设备间的核对。
VisualVM提供两种类型的快照:
Profiler快照:在性能分析进行时,可以通过性能分析结果菜单中的“快照”按钮捕获Profiler快照。
应用程序快照:右键点击“Applications”窗口中的应用程序连接,选择“应用程序快照”以捕获应用程序的快照。这种快照会包括堆转储、进程转储及Profiler快照,并获取JVM的一些基础信息。
5. 转储分析
进程转储:VisualVM可以对运行中的本地程序进行进程转储,帮助诊断死锁、应用程序崩溃等问题。
堆转储:VisualVM生成堆转储,分析JVM中特定时刻的对象信息,帮助检测内存泄漏及对象引用关系等问题。

更新日志

GH-260: 完全支持JDK 16,能够监控并描述Java 16进程。

GH-262: 添加对苹果M1的支持。

GH-270: 支持从旧版本的VisualVM导入插件。

GH-275: 增加了启用模块的相关信息。

GH-279: 更新了部分进度保留尺寸计算。

GH-254: 更新了更新器的品牌效果。

修复了Python堆栈跟踪问题。

HeapViewer - 增强了对Instant, Attributes$Name, FDBigInteger、java.lang.module的支持。

HeapViewer - java.util类的逻辑值——集合现在显示元素数量。

更新了Gradle应用识别器。

更新了JDK工具的应用识别器。

API变更。

GH-282: 在org.graalvm.visualvm.lib.jfluid.heap包的公共API中添加了泛型。

GH-283: 新增了从实例中获取Heap的方法。

修复了多个Bug。

GH-127: 修正G1GC的最大堆计算错误。

GH-257: 解决了“打开快照失败”问题,因未完全读取压缩数据。

GH-263: 修复了计算保留大小为负数的bug。

GH-268: 修复了在Eclipse OpenJ9中运行时无法检测VisualVM的问题。

GH-272: 修复了计算引用时未显示进度条的问题。

GH-273: 解决了NPE错误:“无法调用java.lang.management.MemoryMXBean.gc()”。

GH

展开全部
收起