雄霸下载站:纯净绿色软件游戏下载网站

电脑软件| 软件合集| 最近更新| 网站地图

当前首页:首页 > 电脑软件 > 编程开发 > VisualVM(java调优工具)

VisualVM(java调优工具)

VisualVM(java调优工具)

类型:编程开发版本:v2.0.7官方中文版更新:2023-02-16 07:15:03大小:17.3M系统:WinAll语言:多国语言[中文]

VisualVM是集成了多个jdk命令行工具的可视化,一般用于Java应用的性能分析和调优。功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾收集器、执行内存和CPU分析,它还支持MBeans上的浏览和操作。有需要尽快下载!

功能介绍

一、绩效分析的主要方式

1.监控:监控是一种查看应用程序运行时行为的通用方法。通常有多个视图来实时显示CPU使用情况、内存使用情况、线程状态等有用信息,以便用户快速找到问题的关键。

2.dump:performance analysis工具从内存中获取当前状态数据,并将其存储在一个文件中,以便进行静态性能分析。Java程序通过在启动Java程序时添加适当的条件参数来触发转储操作。它包括以下三种类型:

系统转储:由JVM生成的本地系统转储,也称为核心转储。一般系统转储大量数据,需要平台相关的工具来分析,比如Windows上的windbg,Linux上的gdb。

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

堆转储:JVM将所有对象的堆内容存储到一个文件中。

二、快照:

应用启动后,performance analysis 工具开始收集各种运行时数据,其中一些数据直接显示在监控视图中,而其他大部分数据保存在内部,基于这些保存数据的统计信息直到用户请求快照时才显示。快照包含了应用程序在一段时间内的执行信息,通常有两种:CPU快照和内存快照。

CPU快照:主要包括应用中函数的调用关系和运行时间,通常可以在CPU快照视图中查看。

内存快照:主要包括内存的分配和使用情况,所有加载的类,已有的对象信息以及对象之间的引用关系。通常可以在内存快照视图中查看这些信息。

三、绩效分析:

性能分析是通过收集程序运行时的执行数据,帮助开发者定位程序中需要优化的部分,从而提高程序的运行速度或内存使用效率,主要表现在以下三个方面:

CPU性能分析:CPU性能分析的主要目的是统计函数的调用和执行时间,或者更简单的说是统计应用的CPU使用率。通常有两种方式显示CPU性能分析的结果:CPU监控和CPU快照。

内存性能分析:内存性能分析的主要目的是通过统计内存使用情况,检测可能存在的内存泄漏问题,确定优化内存使用的方向。通常有两种方式显示内存性能分析的结果:内存监控和内存快照。

线程性能分析:线程性能分析主要用于确定多线程应用程序中的内存问题。一般来说,它包括线程状态的变化、死锁以及线程在其生命周期中的状态分布。

软件特色

1.记忆分析

VisualVM通过检测JVM中加载的类和对象信息来帮助我们分析内存使用情况,我们可以通过VisualVM的monitoring标签和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和各种插件。

一、安装VisualVM

1.将VisualVM安装程序解压到本地系统。

2.导航到VisualVM安装目录的bin目录,然后启动jvisualvm.exe。

其次,在VisualVM上安装插件

VisualVM插件中心提供了很多安装插件。将功能添加到VisualVM。可以通过VisualVM应用安装,也可以从VisualVM插件中心手动下载插件,然后离线安装。此外,用户可以下载插件分发文件(。nbm文件)来安装第三方插件并将VisualVM添加到功能。

1.VisualVM插件中心安装插件安装步骤:

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

在可用插件选项卡中,选中插件的安装复选框。点击“安装”。

逐步完成插件安装程序。

2.从主菜单>“插件”中选择“工具”

在下载选项卡中,点击“添加插件”按钮,选择下载的插件分发文件(。nbm)并打开它。

选择打开的插件分发文件,点击“安装”按钮,逐步完成插件安装程序。

更新日志

变化

功能和改进。

GH-260:完全支持在JDK 16上运行和监控/描述Java 16进程。

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

GH-270:导入VisualVM以前版本的插件。

GH-275:添加了有关启用模块的信息。

GH-279:增加了保留尺寸计算的部分进度。

GH-254:更新者品牌效应。

Python的堆栈跟踪

heap viewer-逻辑值添加了instant,attributes $ name,fdbiginger,java。lang .模块。

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

格拉德应用识别器

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

API变化。

GH-282:向org的公共API添加泛型。graalvm . visual VM . lib . jfluid . heap包。

GH-283:增加了从实例获取堆的方法。

修复了Bug。

GH-127:G1GC的最大堆不正确。

GH-257:& quot;无法打开快照。"因为压缩数据没有被完全读取

GH-263:保留大小被计算为负数。

GH-268:检查VisualVM是否在Eclipse OpenJ9上运行。

GH-272:计算引用时没有进度条。

GH-273: NPE:无法调用"java. lang . management . memorymxbean . GC()& quot;

GH-274:逻辑值:& # 39;...'添加到完整的字符串中。

GH-276:缺乏已知的阻断方法。

GH-277:不正确的水平滚动

Gh-278:龙缓冲区的NPE。

GH-280:MAC OS上不正确的背景颜色选择。

堆查看器Python模块、SourceImpl$Key、InetSocketAddress和BigDecimal的逻辑值是固定的。

内存采样器-改进了过载情况下的刷新功能

改进了对IntelliJ应用程序的检测。

  • 标签: JAVA相关
  • VisualVM(java调优工具)相关下载