VisualVM(java调优工具) v2.0.7官方中文版

VisualVM(java调优工具) v2.0.7官方中文版
VisualVM(java调优工具),VisualVM是一款集成了多个jdk命令行的可视化工具,一般都用来对Java应用程序做性能分析和调优,功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作,有需要的赶快下载吧,您可以免费下载。
软件大小:17.3M
软件类型:汉化软件
软件语言:简体中文
软件授权:试用软件
最后更新:2021-09-14 00:02:49
推荐指数:
运行环境:WinAll
查看次数:
VisualVM是一个集成了多个jdk命令行的可视化工具,一般用于Java应用程序的性能分析和调优。它的功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾收集器以及执行内存和CPU分析。同时,它还支持对MBeans的浏览和操作。如有需要,赶紧下载!
功能介绍
一、绩效分析的主要方式。
1.监控:监控是一种用于查看应用程序运行时行为的通用方法。通常有多个View实时显示CPU使用情况、内存使用情况、线程状态等有用信息,让用户快速找到问题的关键。
2.转储:性能分析工具从内存中获取当前状态数据,并将其存储在一个文件中,用于静态性能分析。Java程序通过在启动Java程序时添加适当的条件参数来触发转储操作。它包括以下三种类型:
系统转储:JVM生成的本地系统的转储,也叫核心转储。一般系统会转储大量数据,需要平台相关的工具进行分析,比如Windows上的windbg,Linux上的gdb。
Java转储:在JVM内部生成的格式化数据,包括线程信息、类加载信息和堆统计信息。它也常用于检测死锁。
堆转储:JVM将所有对象的堆内容存储到一个文件中。
二、快照:
应用程序启动后,性能分析工具开始收集各种运行时数据,其中一些数据直接显示在监控视图中,而其他大部分数据存储在内部,基于这些存储数据的统计信息直到用户请求获取快照时才会显示。快照包含应用程序在一段时间内的执行信息,通常有两种类型:CPU快照和内存快照。
CPU快照:主要包括应用中函数的调用关系和运行时间,这些信息通常可以在CPU快照视图中查看。
内存快照:主要包括内存的分配和使用,所有加载的类,已有的对象信息,对象之间的引用关系。该信息通常可以在内存快照视图中查看。
三.性能分析:
性能分析是通过收集程序运行时的执行数据,帮助开发人员定位程序中需要优化的部分,从而提高程序的运行速度或内存利用效率,主要包括以下三个方面:
CPU性能分析:CPU性能分析的主要目的是统计函数的调用和执行时间,或者更简单地说,统计应用程序的CPU使用情况。显示CPU性能分析结果通常有两种方式:CPU监控和CPU快照。
内存性能分析:内存性能分析的主要目的是检测可能出现的内存泄漏问题,并通过统计内存使用情况来确定优化内存使用的方向。通常有两种方式显示内存性能分析的结果:内存监控和内存快照。
线程性能分析:线程性能分析主要用于确定多线程应用中的内存问题。包括一般的线程状态变化、死锁和线程在其生命周期中的状态分布。
软件功能
1.记忆分析。
VisualVM通过检测JVM中加载的类和对象的信息来帮助我们分析内存使用情况。我们可以通过VisualVM的监控选项卡和Profiler选项卡来分析应用程序的内存。
2.CPU分析。
VisualVM可以监控一段时间内应用的CPU使用情况,并显示CPU使用情况、执行效率、方法频率等相关数据,帮助我们发现应用的性能瓶颈。我们可以通过VisualVM的监控选项卡和Profiler选项卡来分析应用程序的CPU性能。
3.线程分析。
Java语言可以很好地实现多线程应用。我们在开发后期调试多线程应用或者做性能调优的时候,往往需要知道当前程序中所有线程的运行状态,是否存在死锁、热锁等情况。从而分析系统中可能存在的问题。
4.快照分析。
我们可以使用VisualVM的快照功能来生成性能分析的任何快照,并将其保存在本地,以帮助我们进行性能分析。快照为捕获应用程序性能分析数据提供了一种方便的方法,因为快照一旦生成,就可以随时脱机打开和查看,并且还可以相互循环。
VisualVM提供两种类型的快照:
Profiler快照:当性能分析会话(内存或CPU)正在进行时,我们可以通过性能分析结果工具栏中的“snapshot”按钮生成Profiler快照,以捕获当时的性能分析数据。
应用程序快照:我们可以在左侧应用程序窗口中右键单击应用程序节点,然后选择“应用程序快照”来生成应用程序快照。应用快照收集了某个时刻的堆转储、线程转储、Profiler快照,也捕获了JVM的一些基本信息。
5.倾倒功能
线程转储的生成与分析:VisualVM可以为正在运行的本地应用生成线程转储,打印出活动线程的堆栈痕迹,帮助我们有效了解线程的运行情况,诊断死锁、应用瘫痪等问题。
堆转储的生成与分析:VisualVM可以生成堆转储,统计某一时刻JVM中对象的信息,帮助我们分析对象的引用关系,是否存在内存泄漏等。
安装方法
VisualVM是一个性能分析工具,自JDK 6更新7以来一直是Oracle JDK的一部分,位于JDK根目录的bin文件夹中。VisualVM本身应该运行在JDK6或更高版本上,但它可以监控JDK1.4或更高版本的应用程序。下面主要介绍如何在VisualVM上安装VisualVM和各种插件。
1.安装VisualVM。
1.将VisualVM安装程序解压到本地系统。
2.导航到VisualVM安装目录的bin目录,然后启动jvisualvm.exe。
其次,在VisualVM上安装插件。
VisualVM插件中心提供了许多用于安装的插件,以向VisualVM添加功能。您可以通过VisualVM应用程序进行安装,也可以从VisualVM插件中心手动下载插件,然后离线安装。此外,用户还可以通过下载插件分发文件(。nbm文件)向VisualVM添加函数。
1.VisualVM插件中心安装插件安装步骤:
从主菜单中选择工具插件。
在可用插件选项卡中,选中插件的安装复选框。单击安装。
逐步完成插件安装。
2.从主菜单中选择工具和插件。
在下载选项卡中,单击添加插件按钮,选择下载的插件分发文件(。然后打开它。
选择打开的插件分发文件,点击“安装”按钮,逐步完成插件安装程序。
更新日志
变化
和改进。
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增加。
heapwiewer-Java . util类的逻辑值-集合现在显示元素的数量。
格拉德勒应用识别器
更新了JDK工具的应用程序识别器。
API更改。
GH-282:将泛型添加到org . graal VM . visualvm . lib . jfluid . heap包的公共API中。
GH-283:增加了从实例获取堆的方法。
bug被修复了。
GH-127: G1GC的最大堆栈不正确。
GH-257:“无法打开快照。”由于压缩数据没有被完全读取,
GH-263:保留大小计算为负数。
GH-268:检测VisualVM是否在Eclipse OpenJ9上运行。
GH-272:计算引用时没有进度条。
GH-273: NPE:不能调用“Java . lang . ManagEment . memorymxbean . GC()”。
GH-274:逻辑值:“.”被添加到完整的字符串中。
GH-276:缺乏已知的阻断方法。
GH-277:水平滚动不正确。
Gh-278:朗布菲的NPE。
GH-280:在MacOS上选择的背景颜色不正确。
HeapViewer -逻辑HeapViewer - PythonModule、SourceImpl$Key、InetSocketAddress和BigDecimal是固定的。
内存采样器-过载下改进的刷新功能。
改进了对IntelliJ应用程序的检测。