解决网
首页 > 软件下载 > 系统软件 > 硬件驱动 > PerfView(性能分析工具)
更多下载地址
PerfView(性能分析工具)

软件大小:6.0 MB

软件语言:中文

软件授权:免费软件

软件类别:系统其他

软件等级:

更新时间:2021-08-24

官方网站:https://www.solves.com.cn/

应用平台:Windows7, Windows10, WindowsAll

  • 软件介绍
  • 软件截图
  • 下载地址

PerfView是一个性能分析工具,是微软生产和推出的一款软件。它可以帮助用户分析计算机硬件,跟踪和收集机器在各种情况下使用时的信息事件,帮助用户了解机器硬件的使用情况,分析每个进程的使用情况,解决配置程序性能数据的问题。它是一款非常方便实用的软件,可以帮助用户快速知道程序运行时调用了哪些功能,需要的频率,节省了大量的时间,提高了工作效率。软件小,无需安装,解压后即可使用。

perfview图

软件介绍

PerfView是一款快速便捷地收集和查看时间和内存性能数据的工具。PerfView使用操作系统的Windows(ETW)事件跟踪功能,可以收集信息机器范围内的各种有用事件,如“高级收集”部分所述。ETW是windows performance group几乎专门用于跟踪和了解windows性能的强大技术,也是其Xperf工具的基础。PerfView可以看作是这个工具的一个简化且用户友好的版本。此外,PerfView可以收集。用于内存调查的netgc堆信息(即使是非常大的gc堆)。PerfView的解码能力。NET符号信息和GC堆使得PerfView成为托管代码调查的理想选择。

perfview图

软件功能

1.CPU调查:其中一个比较有用的事件(默认打开)是“profile”采样事件。此事件每毫秒对计算机每个CPU的指令指针进行采样。每个示例捕获当前执行线程的完整调用堆栈;提供关于线程在高抽象层和低抽象层所做工作的非常详细和有用的信息。PerfView聚合这些堆栈跟踪,并在堆栈查看器中显示它们,堆栈查看器具有强大的分组操作,比大多数探测器更容易理解这些数据。如果应用程序的性能问题与高CPU利用率有关,PerfView将告诉您这一点,并为您提供必要的工具来准确了解应用程序的哪些部分有错误行为。

2.托管内存调查:PerfView还可以获取。netgc堆。因为这些堆可能非常大,所以PerfView允许控制样本的大小。如果堆太大,无法完全捕获,获取代表性样本会遇到一些麻烦。然后,它将堆中对象的图形转换成树,并在用于CPU调查的同一堆栈查看器中显示它。

3.响应时间调查:使用“ThreadTime”选项收集足够的信息,这样PerfView就可以测量每个线程(是否被阻塞),收集与每个请求相关的所有线程时间,并将其显示为树。这是线程时间(带开始-停止活动)视图。

4.挂钟/阻塞时间调查:如果你的程序太慢,但是没有消耗太多的CPU,那么一定要防止它等待别的东西(磁盘网络,…)。PerfView可以指示操作系统在线程休眠或唤醒时记录事件,并且有一个地方可以显示程序正在等待。

5.内存调查:您也可以在每次操作系统堆内存分配器分配或释放一个对象时打开一个事件。使用这些事件,您可以看到哪些调用堆栈负责大多数非托管内存分配。CPU的调查:PerfView可以读取Linux内核内置的Linux“perfevents”收集器的输出。

6.CPU调查:PerfView可以读取Linux内核内置的Linux“PerfEvents”收集器的输出。

7.在性能视图的堆栈查看器中查看您的分层数据:性能视图的堆栈查看器功能强大,但也非常灵活。PerfView定义了一种非常简单的XML或JSON格式,可以读入这个查看器。这允许您轻松生成数据,然后可以在PerfView强大的堆栈查看器中查看这些数据。

使用说明

perfview图

1.单击主页上的“运行命令”超链接。将弹出一个对话框,指示要运行的命令和要创建的数据文件的名称。

2.在“命令”文本对话框中输入“Tutorial.exe”,然后单击输入。

3.除非您从提升的环境中启动PerfView,否则操作系统将启动用户访问控制以管理员身份运行(收集配置文件数据是一项特权活动)。单击“确定”接受。

4.此时,它将开始运行命令。状态栏闪烁,表示它正在执行您的命令。您可以单击右下角的“日志”按钮来监控其进度。完成后,将弹出流程选择对话框。PerfView是询问您正在关注哪个流程。在这种情况下,我们对“教程”过程感兴趣,所以我们应该选择这个过程。如果你对所有的流程都感兴趣,还有一个按钮。

常见问题

如何摆脱?在节点名称中(例如,ntdll!)?

PerfView发出一个?对于任何不能解析为符号名的程序地址。

什么是“破”堆?原因是什么?

如果在数据采样期间获取的堆栈跟踪没有在启动线程的操作系统动态链接库中终止,则认为堆栈已损坏。有关更多信息,请参见损坏的堆栈。

堆栈帧似乎丢失了。这是怎么回事?

用于抓取堆栈的算法并不完美。在某些情况下,堆栈上没有足够的信息来快速找到调用者。编译器还执行内联、tailcall和其他操作,这些操作实际上会在运行时完全删除框架。好消息是,虽然它有时令人困惑,但通常很容易填补空白。

那个。NET程序在清理器。dll(或mscorwks.dll)。那是什么?

为了获得良好的符号信息。NET方法,CLR运行时必须转储从本机指令位置到方法名称的映射。当进程关闭时(或当PerfView请求并显式关闭时),完成此操作。从分析的角度来看,它消耗的CPU很无聊(因为不会正常发生)。排除此时间的最简单方法是设置一个不包括进程关闭的时间范围。

更新日志

支持从主机而不是从容器内部捕获Windows进程隔离容器的跟踪:

在事件容器中提供enablesinmode以启用事件容器中的事件发送标志。

添加/EnableSourceContainerTracking标志,告诉ETW用容器标识标记源自容器的每个用户模式事件。

暴露跟踪事件。容器标识为的用户模式事件的容器标识(使用/EnableSourceContainerTracking启用)。

只要容器仍处于活动状态,就通过提取PDB信息来启用容器化dll的主机上符号解析。

将/ImageIDsOnly标志添加到合并命令中,以在主机上启用合并,并在一个或多个容器中启用符号解析关闭框。

在主机上没有此标志的情况下合并一次,然后在每个容器中使用此标志进行合并。

用amd64本机依赖项打包vcruntime140_1.dll,以修复amd64 msdia140.dll的加载

修复GLAD api中可能的内存泄漏。

软件截图
  • PerfView(性能分析工具)
  • 下载地址
普通下载地址
  • 热门软件
  • 热门标签
返回顶部