性能分析工具
Windows 性能工具包(Windows Performance Toolkit)位于 Windows 评估和部署工具包(Windows ADK)中,其中包含各种性能监控工具,这些工具可生成有关 Windows 操作系统和应用程序的详细性能概况。
下载ADK时,要匹配本机的操作系统版本,本人计算机为Windows 10 版本 20H2
。安装时,有一个窗口选择要安装的工具。选择Windows Performance Toolkit,本是默认勾选的。
安装ADK后,可以在安装目录下找到旧版本的Xperf
命令行工具。不过目前WPT提供了更方便的图形化界面,两个独立的工具:
- Windows Performance Recorder (WPR) :
WPR
是一款用于创建 Windows 事件跟踪 (ETW) 记录的功能强大的记录工具。 可以通过用户界面 (UI) 或命令行来运行 WPR。 WPR 提供了内置配置文件,可以使用它们来选择要记录的事件。 - Windows Performance Analyzer (WPA) :
WPA
是一款功能强大的分析工具,该工具将非常灵活的 UI 与丰富的图形功能和数据表相结合。
工具使用
1. 使用WPR捕获性能信息
在本机上搜索WPR,运行程序。点击Strat
按钮开始捕获数据。等待一段时间后,点击Save
按钮结束捕获并保存捕获的性能数据。
点击More options
按钮,可以:选择需要捕获那些性能数据、信息详细程度等等。一般地,可以额外勾选CPU usage
,Disk I/O activity
,其他按需求选择。
在捕获过程中,执行要分析的程序f.exe
。捕获完成后,将.elt
文件用WPA
打开,图形化分析。
2. 使用WPA分析性能信息
如果想详细了解WPA,戳:如何使用WPA
打开.elt
文件后,可以看到System Activity
,Computation
,Storage
,Memory
,Power
等若干性能信息。
可以在某进程上右击,选择Filter To Selection
,在分析图中过滤掉其他进程的信息;若要恢复,可以右击,选择Clear Filter
。可以在列表头右击,More Columns
,选择要显示的属性。
双击Computation
里的CPU Usage (Attributed)
,用柱状图显示各进程的CPU利用率。图中的CPU利用率可以达到100%以上(极限大约是800%),这是正常的,因为多核多处理器(4核8处理器)。鼠标移动到柱状图某个色块上,比如f.exe
的色块上,可以看到某时刻此进程的CPU使用率(单线程进程的也可能略微超过100%,这是为什么)。在柱状图下面的表格里,可以找到f.exe
的更详细信息。展开,可以看到进程的若干线程的信息:换入换出时刻(s)、CPU使用时间(ms)、处理器(0 - 7)。一个线程会在各个核上间断地执行。
展开CPU Usage
,选择Timeline by CPU
,查看各个核的时间线。选择Utilization by CPU
,查看各个核的使用率。选择Timeline by Process
,查看各个进程的时间线。选择Utilization by Process
,查看各个进程的CPU使用率:CPU Usage
是线程的运行时间,Ready
和Waits
是线程等待的时间,Count
是线程换入换出的次数,%CPU Usage
是CPU占用率(这个是占全部可用核的算力的,不会超过100%)
Storage
显示了磁盘I/O的情况,有两个盘:磁盘0是D,E,F,G
盘(HDD,机械),磁盘1是C
盘(SSD,固态)。Memory
显示了内存占用情况,可以看到内存页的情况,也可以查看各个进程的I/O时间。可以用这两个属性来分析程序是否是I/O密集型的还是计算密集型的,从而加速程序。
最后吐槽下,数据文件是真的大,WPA时不时就卡死了!