PC性能监测工具,您不可或缺的好帮手

news2024/11/17 0:31:19

前言

在计算机使用过程中,常有人会问:为什么我的CPU利用率接近100%?为什么可用内存不断减少?

幸运的是,Windows性能工具包为我们提供了帮助。是什么应用程序的锅,我们使用该性能工具一探究竟。

一、 Windows性能工具包简介

(1) Windows性能工具包(Windows Performance Toolkit,简称WPT)有两个主要组件:Windows Performance Recorder(WPR)和Windows Performance Analyzer(WPA);

(2) WPR用来追踪CPU使用率、磁盘I/O、文件、网络、GPU活动、电源使用情况等,借助ETW技术框架实现,将以上信息保存在ETL文件中;

(3) WPA辅助WPR使用,用来可视化分析ETL文件,从而确定系统性能瓶颈。

二、Windows性能工具包安装

2.1 下载

下载安装Windows ADK得到 Windows 性能工具包 (WPT),docs.microsoft.com/en-us/archi…

2.2 安装

(1) 默认安装路径:C:\Program Files (x86)\Windows Kits\8.1\WindowsPerformance Toolkit

(2) 安装文件:
 

在这里插入图片描述


如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们1079636098,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

(3) 文件简介

wpa.exe —解析ETL文件,并图形化、表格化展示。

wpaexporter.exe —导出ETL文件的解析结果成文本格式。

wpr.exe —记录ETW产生的数据,命令行模式。

WPRUI.exe —记录ETW产生的数据,图形化界面,更友好。

xperf.exe —早期版本WPT的核心组件,所以现在习惯将WPT称为XPerf。XPerf的功能类似于wpr+wpaexporter,可以记录ETW产生的数据,也可以导出结果到文本。

xperfview.exe —早期版本WPT中的分析工具,功能和现在的WPA一样,WPT从版本8以后已经没有这个exe了。在WinXP上只能使用旧版的XPerf,而且建议用对应的xperfview打开分析。

三、Windows性能工具包工作原理

3.1 WPR工作原理——ETW技术框架

CONTROLLERS:启动和停止Events发送,以及log路径和大小设置,以及Provider的选择允许;WPR就是一个Controllers,它会使用StartTrace等API来开启信息追踪。

PROVIDERS:不同类型的Event产生者。例如线程、网络、I/O、CPU、内存等各种Provider,它会使用WriteEvent来记录信息。

CONSUMERS:已产生Event的使用者;WPA就是使用者,用来做可视化分析,它会解析logfile以获取结果。

在这里插入图片描述


3.2 WPA工作原理——DataTable

Key area:用这一组维度数据作为统计关键字,通常需要正确搭配,例如Process可以搭配Thread。

Data area:数据统计区,这里可以是消耗时间costtime、次数等。

Graphing element area:绘制区,这里可以是时间间隔duringtime、权重占比Weight等。

在这里插入图片描述

四、Windows性能工具实例分析

4.1 WPR追踪获取信息

4.1.1 WPR命令简介

WPR的使用是通过命令行的形式来完成的。常见的命令如下:

-start [SessionName]:需要启动的Session Name,只记录kernel logging的话Name可以为空-on Flags|Groups:指定需要开启的provider flags or groups,通过加号(+)分隔 -f filename:指定写入的文件名字,Kernel trace默认是Kernel.etl, user trace默认是User.etl -maxfile Size:限定日志文件的大小,单位MB -filemode Mode:指定文件写入模式,默认是"Sequential",还有"Circular", “Append”,“NewFile”-stackwalk flags|@file:开启call stack的记录

4.1.2 生成ETL文件

使用xperf-on DiagEasy开始收集系统性能信息;

使用xperf -d test.etl停止收集并将收集到的信息保存到etl文件中。

4.2 WPA分析获取结果

4.2.1 WPA分析界面简介

整体界面展示

双击生成的etl文件,可以看到WAP分析工具有6部分内容,分别是图像分析区(GraphExplorer)、时间轴、诊断输出台(Diagnostics Console)、分析区(Analysis)、详细资料展示区(Details)及顶部工具栏,如下图:

在这里插入图片描述


图像展示区(GraphExplorer)

图像分析区主要是结果的管理区,可以看到每个项目有对应的下拉小三角,点击小三角,我们就可以看到每个项目下具体的结果展示。

System Activity:系统活动,里面主要是进程线程的生命周期,原始事件等等内容;

Computation:记录了CPU的各项活动;

Storage:记录了磁盘的活动和文件的操作;

Memory:记录了系统内存的变化。

在这里插入图片描述


分析区(Analysis)

分析区主要展示了具体的分析结果,包括主要的Series(进程序列)、性能折线图、具体各项分析的tab表。以CPU为例,双击CPU,就可以得到分析结果。

在这里插入图片描述


时间轴

时间轴是和Analysis相关联的,展示的是分析性能的时间line。一般情况下只显示一个时间轴,如果有多个不同时间段的Analysis,则会展示多个时间轴。

在这里插入图片描述


诊断输出台(DiagnosticsConsole)

和一般的控制台类似,主要是输出一些错误信息与log。

在这里插入图片描述


顶部工具栏

顶部工具栏主要是打开文件(File)、跟踪调试(Trace)、窗口创建(Window)及帮助(Help)。常用的为跟踪调试中配置加载符号文件(Symbol)。

在这里插入图片描述


4.2.2 WPA分析性能结果

分析性能结果主要是第一部分介绍的图像分析区(Graph Explorer)和分析区(Analysis),以CPU为例进行分析。

STEP-1:展开Graph Explorer的Computation,双击CPU,可以看到如下图:

在这里插入图片描述


STEP-2:选择不同的展现形式

如果要看进程的CPU信息,则标签序列、底部tab都是以进程展示的,下拉选择最后一项:
 

在这里插入图片描述


如果要看每个CPU处理器的信息,则选择倒数第二项:

在这里插入图片描述


展开可看到每个CPU下的不同的进程信息:

在这里插入图片描述


STEP-3:选择好具体要展现的形式之后,我们选择需要的图表展示

默认选择的是折线图,可以更改其他类型的图表展示方式,具体视情况而定 :
 

在这里插入图片描述


STEP-4:选择需要展示的内容

在Analysis分析区,我们可以选择展示的内容,比如只想看图表变化图、tab分析表和图表变化图、只看tab分析表等,如下图:

在这里插入图片描述


注:一般建议使用图形加tab表,可以帮助更好的分析结果。

STEP-5:分析结果

以SogouExplorer.exe为例,我们想看在统计周期内的CPU变化情况,就可以找到对应的标签颜色,分析折线图,如下图:

在这里插入图片描述


我们想看在统计周期内,进程总共占用多少资源,可以在tab表中找到是SogouExplorer.exe进程的,将所有的CPU资源占用情况求和:

在这里插入图片描述

五、踩过的坑

WPR的启动、配置、解析有很多参数,不是很容易上手,这里说下几个踩过的坑。

(1) 版本问题

目前能下载到的版本有4.8 /6.3 /10.0,这几个版本的兼容性并不是很好,生成ETL文件后,一定注意要用同版本的WPR、WPA或是XPerfView去分析,用不同版本的话会有一些奇怪的问题,例如打开报错、看不到关键数据、闪退等。

(2) 工具兼容性问题

如果你正在使用ProcessMonitor或ProcessExplorer,需要先关闭它们再启动WPR,否则会报错,因为这两个工具也会通过ETW收集信息。

(3) 参数问题

WPR的启动参数很多,开的越多带来的额外系统开销也越多,ETL文件也越大。所以一定要按需配置,有针对性的开启需要的Provider。

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

  全套资料获取方式:点击下方小卡片自行领取即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1118884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国内在线协作工具有哪些?

随着信息技术的快速发展和互联网的普及,在线协作工具成为了现代团队和企业不可或缺的一部分。国内市场上涌现出许多优秀的在线协作工具,为团队协作提供了高效、便捷的解决方案。 在本文中,我们将向大家推荐3款国内备受赞誉的在线协作工具&…

[NSSRound#13 Basic] 刷题记录

文章目录 [NSSRound#13 Basic]flask?jwt?[NSSRound#13 Basic]ez_factors[NSSRound#13 Basic]flask?jwt?(hard)[NSSRound#13 Basic]信息收集[NSSRound#13 Basic]MyWeb [NSSRound#13 Basic]flask?jwt? 考点:session伪造 打开题目,想注册admin发现不行…

【C++进阶之路】IO流

文章目录 一、C语言的IO1.键盘与显示屏2. 文件与内存3.字符串与内存 二、CIO1.iostream1.1基本使用1.2operator bool 2. fstream2.1二进制的文件读写2.2字符串的文件读写 3. sstream3.1序列化与反序列化3.2拼接字符串3.3将数据类型转换为字符串 总结 一、C语言的IO 1.键盘与显…

企业知识库软件,快速构建企业知识分享与团队协同的软件

企业知识库是一种特殊的在线协同文档工具,支持包括FAQ、文档、视频、知识图谱等。从本质上讲,它是基于企业知识库软件从而实现内部或外部知识的沉淀、集合、更新、共享等,能为员工或客户提供常见问题的标准回答。 今天我就基于HelpLook &…

STP、堆叠与VRRP如何使用

✍ STP生成树用在哪里? ✍ STP和堆叠有什么区别? ✍ VRRP双网关热备份如何部署? --- 通过交换机组成网络是局域网,连接终端设备的交换机就是接入层交换机。 --- 如上组网结构单一,不需要网工。 容易发生单点故障&…

wireshark数据包内容查找功能详解

wireshark提供通过数据包特征值查找具体数据包的功能,具体查找功能如下, (1)选择查找目标区域(也就是在哪里去匹配特征值) 如下图,【分组列表】区域查找指的是在最上方的数据包列表区域查找&…

msvcr110.dll丢失的解决方法介绍,教你如何快速修复问题

在计算机系统中,DLL(动态链接库)是一种非常重要的资源。它们包含了可被多个程序共享的代码和数据。其中,MSVCR110.dll就是Visual Studio 2012的一个组件。然而,有时候我们可能会遇到“msvcr110.dll丢失”的问题&#x…

2023年传媒行业中期策略 AIGC从三个不同层次为内容产业赋能

基本面和新题材共振,推动传媒互联网行情上涨 AIGC 概念带动,传媒板块领涨 A 股 2023 年第一个交易日(1 月 3 日)至 6 月 2 日,申万传媒指数区间涨幅高达 48.38%,同时期沪深 300 跌幅为 0.25%,…

【Javascript】构造函数的参数写法

目录 写法一(固定参数): 写法二(对象类型的参数) 写法一(固定参数): 如果参数与参数的值不对应 写法一 要求位置严格对应,明确知道对象的属性 写法二(对象类…

JavaScript从入门到精通系列第二十二篇:JavaScript中的toString方法和JavaScript中的垃圾回收

文章目录 一:toString方法 1:怪异的返回值[object Object] 2:打印对象成为一个JSON 二:垃圾回收(GC) 1:垃圾回收概念 2:JS当中的垃圾回收机制 3:JS中的垃圾回收算…

CyclicBarrier线程同步

关于作者: CSDN内容合伙人、技术专家, 从零开始做日活千万级APP,带领团队单日营收超千万。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业化变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览…

数据结构与算法—双向链表

目录 一、链表的分类 二、双向链表原理 三、实现双向链表 1、声明链表结构体 2、初始化链表 3、创建新节点 4、打印链表 5、头插&尾插 头插 尾插 6、头删&尾删 头删 尾删 7、 查找节点 8、指定节点前插入 9、删除指定节点 10、销毁链表 完整版 L…

Java三层架构、表现层-业务层-持久层

三层架构 什么是 Java 三层架构 三层架构是指:视图层view(表现层),服务层service(业务逻辑层),持久层Dao(数据访问层), Java的三层架构是指将Java程序分为三…

会议剪影 | 思腾合力携AI服务器亮相PRCV 2023,并作主题演讲

第六届中国模式识别与计算机视觉大会(PRCV 2023)于2023年10月13日至15日在厦门国际会议中心酒店举办。本届会议主题为“相约鹭岛,启智未来”。 会议旨在汇聚国内国外模式识别和计算机视觉理论与应用研究的广大科研工作者及工业界同行&#xf…

【LeetCode刷题(数据结构与算法)】:将二叉搜索树转化为排序的双向链表

将一个 二叉搜索树 就地转化为一个 已排序的双向循环链表 对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点 特别地,我们希望可以 就地 完…

pip 时报错 no such option: --bulid-dir 的解决办法

Pycharm 安装第三方库报错及解决方案——no such option: --build-dir Pycharm 安装第三方库报错及解决方案——no such option: --build-dir 最近在学习路径规划相关内容,在运行GitHub上下载例程时缺少“plotly”库,根据网上查到的安装步骤操作&#x…

计算机组成原理 new08 电路 $\color{red}{Δ}$

文章目录 ALU基本逻辑运算复合逻辑的运算 一位全加器串行加法器串行进位的并行加法器并行进位的并行加法器(全先行进位加法器)这个明天再写。加法电路原理总结ALU和加法器有什么关系加法器原理ALU总结无符号整数/补码加减法加法器标志位的生成补码加减法发运算的溢出判断溢出电…

Python实现一个简单的http服务,Url传参输出html页面

摘要 要实现一个可以接收参数的HTTP服务器,您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器,可以用于开发和测试Web应用程序。 下面是一个示例代码,它实现了一个可以接收参数的HTTP服务器: 代码…

C1N短网址 - 是如何做到行业领先的

今天从技术角度来聊下短网址的一些事情,市面上的短网址发展基本上经历了几个阶段。 短网址发展的几个阶段: 第一阶段:网址缩短,很纯粹的功能,各个大小公司都在做,门槛很低。典型代表:百度短网…

Python+playwright 实现Web UI自动化

实现Web UI自动化 技术:Pythonplaywright 目标:自动打开百度浏览器,并搜索“亚运会 金牌榜” 需安装:Playwright (不用安装浏览器驱动) # 使用浏览器,并可视化打开 browser playwright.ch…