VisualVM(java调优工具)v2.0.7官方中文版
最新推荐
-
齐鲁银行网银助手3.0.0.5官方版 安全软件 / 3.0M
-
360安全卫士U盘病毒专杀(Autorun.inf专杀)13.0.0.213简体中文绿色免费版 安全软件 / 86.1M
-
360安全卫士U盘病毒专杀工具v13.0.0.213绿色免费版 安全软件 / 86.1M
-
360安全卫士修复工具v13.0.0.213免费版 安全软件 / 86.1M
-
360安全卫士超强查杀V13.0.0.213安装版 安全软件 / 86.1M
精品推荐
-
WeeeCode(图形化编程软件)v3.6.2官方版 编程开发 / 429.1M
查看 -
核桃编程v2.1.123.0官方版 编程开发 / 272.5M
查看 -
DevToys(开发工具)v1.0.11.0官方版 编程开发 / 156M
查看 -
吾爱OD(附118款脱壳脚本)v1.10中文版(32/64位) 编程开发 / 15.5M
查看 -
360加固助手v3.6.1.0官网版 编程开发 / 271.5M
查看
本类排行
详情介绍
VisualVM是一个集成了多个jdk命令行的可视化工具。它通常用于执行Java应用程序的性能分析和调优。其功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾收集器、执行内存和CPU分析,并且还支持对MBean的浏览和操作。如果您需要,请下载它。
VisualVM是一个集成了多个jdk命令行的可视化工具。它通常用于执行Java应用程序的性能分析和调优。其功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾收集器、执行内存和CPU分析,并且还支持对MBean的浏览和操作。有需要的就下载吧!
特征
1.性能分析的主要方法
1.监控:监控是用于查看应用程序运行时行为的通用方法。通常有多个视图,实时显示CPU使用情况、内存使用情况、线程状态等有用信息,以便用户快速找到问题的关键。
2. Dump:性能分析工具从内存中获取当前状态数据,并将其存储到文件中,进行静态性能分析。 Java程序通过在启动Java程序时添加适当的条件参数来触发转储操作。它包括以下三种类型:
系统转储:JVM 生成的本地系统转储,也称为核心转储。一般来说,系统转储数据较大,需要平台相关的工具来分析,例如Windows上的windbg和Linux上的gdb。
Java转储:JVM内部生成的格式化数据,包括线程信息、类加载信息和堆统计信息。也常用于检测死锁。
堆转储:JVM 将所有对象的堆内容存储到文件中。
2. 快照:
应用程序启动后,性能分析工具开始收集各种运行时数据,其中一些直接显示在监控视图中,而其他大部分数据则在内部保存,直到用户请求快照,并根据这些保存的数据进行统计。刚刚显示。快照包含一段时间内应用程序的执行信息,通常有两种类型:CPU快照和内存快照。
CPU快照:主要包括应用程序中函数的调用关系和运行时间。这些信息通常可以在CPU快照视图中查看。
内存快照:主要包括内存分配和使用情况、所有加载的类、现有对象信息以及对象之间的引用关系等,这些信息通常可以在内存快照视图中查看。
3、性能分析:
性能分析通过收集程序运行时的执行数据,帮助开发人员定位程序中需要优化的部分,从而提高程序的运行速度或内存使用效率。主要有三个方面:
CPU性能分析:CPU性能分析的主要目的是统计函数调用和执行次数,或者更简单的情况是统计应用程序的CPU使用率。 CPU性能分析结果的展示通常有两种方式:CPU监控和CPU快照。
内存性能分析:内存性能分析的主要目的是通过统计内存使用情况来检测可能存在的内存泄漏,并确定优化内存使用的方向。内存性能分析结果的展示通常有两种方式:内存监控和内存快照。
线程分析:线程分析主要用于识别多线程应用程序中的内存问题。一般包括线程的状态变化、死锁情况以及线程生命周期内的状态分布等。
软件特点
1. 内存分析
VisualVM通过检测JVM中加载的类和对象信息来帮助我们分析内存使用情况。我们可以通过VisualVM的监控标签和Profiler标签对应用程序进行内存分析。
2.CPU分析
VisualVM可以监控应用程序在一段时间内的CPU使用情况,并显示CPU使用率、方法执行效率和频率等相关数据,帮助我们发现应用程序的性能瓶颈。我们可以通过VisualVM的monitoring标签和Profiler标签对应用程序进行CPU性能分析。
3. 线程分析
Java语言可以很好地实现多线程应用程序。当我们调试多线程应用程序或者开发后期做性能调优时,往往需要了解当前程序中所有线程的运行状态,是否存在死锁、热锁等情况,以便分析系统中可能出现的问题。问题。
4. 快照分析
我们可以利用VisualVM的快照功能生成任意性能分析快照并保存在本地,以辅助我们进行性能分析。快照提供了一种非常便捷的方式来捕获应用程序性能分析数据,因为快照一旦生成,就可以随时离线打开和查看,并且还可以相互循环。
VisualVM 提供两种类型的快照:
Profiler快照:当一个性能分析会话(内存或CPU)正在进行时,我们可以通过性能分析结果工具栏上的“快照”按钮生成Profiler快照,以捕获当时的性能分析数据。
应用程序快照:我们可以在左侧应用程序窗口中右键单击应用程序节点,选择“应用程序快照”来生成应用程序快照。应用程序快照收集某一时刻的堆转储、线程转储和Profiler快照,还捕获有关JVM的一些基本信息。
5.转储功能
线程转储的生成和分析:VisualVM可以生成正在运行的本地应用程序的线程转储,并打印出活动线程的堆栈跟踪,帮助我们有效了解线程的运行状态并诊断死锁、应用程序瘫痪等问题。
堆转储的生成和分析:VisualVM可以生成堆转储,统计特定时刻JVM中的对象信息,帮助我们分析对象的引用关系以及是否存在内存泄漏等。
安装方法
VisualVM是一个性能分析工具,从JDK 6 Update 7开始就成为Oracle JDK的一部分,位于JDK根目录的bin文件夹中。 VisualVM本身需要运行在JDK6或以上版本,但它可以监控JDK1.4或以上版本的应用程序。下面主要介绍如何安装VisualVM以及VisualVM上的各种插件。
1.安装VisualVM
1. 将VisualVM 安装程序解压缩到本地系统。
2. 导航到VisualVM 安装目录的bin 目录,然后启动jvisualvm.exe。
2.在VisualVM上安装插件
VisualVM 插件中心提供了许多可供安装的插件,以便为VisualVM 添加功能。您可以通过VisualVM应用程序安装,也可以从VisualVM插件中心手动下载插件并离线安装。此外,用户还可以通过下载插件分发文件(.nbm 文件)来安装第三方插件,为VisualVM 添加功能。
1、VisualVM插件中心安装插件安装步骤:
从主菜单中选择“工具”“插件”。
在“可用插件”选项卡中,选中插件的“安装”复选框。单击安装。
逐步完成插件安装程序。
2. 从主菜单中选择“工具”“插件”。
在“已下载”选项卡中,单击“添加插件”按钮,选择下载的插件分发文件(.nbm)并打开它。
选择打开的插件分发文件,然后单击“安装”按钮以逐步完成插件安装过程。
变更日志
种类
特点和改进。
GH-260:完全支持在JDK 16 上运行并监视/分析Java 16 进程
GH-262:添加对Apple 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:添加了从实例获取堆的方法。
错误已修复。
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:LongBuffer.startReading() 处的NPE。
GH-280:MacOS 上的背景颜色选择不正确
HeapViewer——PythonModule、SourceImpl$Key、InetSocketAddress、BigDecimal的逻辑值是固定的。
Memory Sampler--改进了重负载下的刷新功能
改进了IntelliJ 应用程序的检测