最近我的电脑性能变得很差,当我在输入这两个句子时,编辑器中甚至出现了大约 10 次“暂停”。现在,如果我使用 Process Explorer,我可以按 CPU、内存和 IO 降序排序,因此罪魁祸首始终显示在表格顶部。
问题在于,资源占用最高的进程变化非常快,很难缩小长期占用资源的进程的范围。我希望在几个小时或几天内监控每个进程的 CPU、内存和 IO,并记录这些数据,然后提取报告以识别更大且更持续的占用资源的进程。
我已经查看过进程监视器,但它似乎更侧重于捕获进程活动与总体资源使用情况,而且我还没有找到通过按进程求和和分组来汇总这些活动的方法。
根据 Process Explorer,问题有时似乎与 I/O 有关,有时与 CPU“过载”有关。我想跟踪和记录每个进程在 24 到 48 小时内对这些资源的使用情况,因为这种迟缓是暂时的。
然而,在某些应用程序中,例如 Chrome 和 Visual Studio,这种情况更为明显,而 Notepad++ 等应用程序的性能并不差。我也开始怀疑内存分页到磁盘和从磁盘分页的速度很慢,并焦急地等待为操作系统和一两个大型 I/O 应用程序获得 SSD 的机会,但这需要一些时间。
答案1
您想要的内容在此页面中有描述:
在此步骤中,您可以单击“完成”按钮,也可以继续执行接下来的几个步骤,在其中您可以指定日志文件的位置或配置数据收集器集以以特定用户身份运行。
创建数据集后,运行它。数据收集器集将开始从所选性能监视器记录数据,在我们的例子中是 CPU 利用率。数据集运行时无法提供报告。停止后,您可以在导航面板中的“报告”目录下看到报告。
有关性能监控的更多信息:
答案2
要诊断 CPU 使用率问题,您应该使用 Windows 事件跟踪 (ETW) 来捕获 CPU 采样数据/配置文件。
为了捕获性能数据,安装 Windows 性能工具包,这是Windows SDK。
下载这是来自我的 Dropbox 的个人资料,将其存储在 HDD 上,现在在存储 WPRP 配置文件的文件夹中以管理员身份打开命令提示符并运行以下命令:
wpr -start slowWindowsShell.wprp -start ReferenceSet -fileMode
现在捕获大约 5-7 分钟的缓慢 Explorer/Shell。现在运行此命令以停止记录:
wpr -stop slowWindowsShell.etl
双击 ETL 在 Windows Performance Analyzer (WPA.exe) 中打开它,加载调试符号和分析 CPU 使用情况或者内存使用情况。
如果 CPU 和内存使用率较低,此配置文件还包括 Windows 资源管理器/Shell 事件。在性能视图并打开事件数据:
在详细信息中搜索 Shell 事件 Perfview 会为事件生成持续时间(以毫秒为单位)。查看哪些任务很慢。