我的计算机出现了一个小问题。
有时,似乎某个进程正在启动,使 CPU 和磁盘活动达到最大值 10-15 秒,然后停止。这通常发生在我使用全屏应用程序(通常是游戏)时。
我可以通过打开资源管理器并检查罪魁祸首来检查导致这种情况的原因。但是,在此期间计算机的卡顿状态通常使它不容易打开。我通常也没有时间在它结束之前打开它。
所以我的问题是,是否有一种方法可以捕获某一时刻的 CPU 和/或磁盘活动的“状态”,只需按下快捷键或启动脚本即可?(AutoHotKey 可以解决这个问题)。当然,最好是轻量级的,这样它才能真正捕获活动,而不是在事件“之后”进行记录。
答案1
Windows 有一个可以实现这个目的的工具,叫做 Perfmon。
Windows Vista 中引入的可靠性和性能监视器是一款出色的内置工具,可让您实时监控和研究所运行的应用程序如何影响计算机的性能,并通过收集日志数据以供日后分析。在本文中,我们将了解如何在 Windows 8 中使用性能监视器或 Perfmon。当然,这同样适用于 Windows 7。
这是一个很好的文章如何设置随时间推移的数据收集。
答案2
跑过Windows 资源监视器。后面有图表,例如 CPU、HDD 和网络资源消耗。挑战在于及时查看相关信息。我对此有两种选择。
简单(但可能不是令人满意的工作方式)
在系统停滞期间,您可以尝试按CTRL
+ SHIFT
+ ESC
,这是任务管理器的默认 Windows 热键。从那里(性能选项卡)您可以启动资源监视器。或者,您可以尝试按ALT
+TAB
或按CTL
+ ALT
+DEL
并选择“打开任务管理器”。
更难(但可能更成功)的方法
如果您想将资源监视器中的信息记录到文件中,您可以使用LOGMAN
将 resmon.exe 数据记录到文件中以供稍后检查。这里是一个很好的链接,解释了该怎么做。简而言之:
- 创建一个文件(
WDC_Providers.txt
),其中提到要记录的项目:{B2CA89D8-FAC8-4759-A0C7-2FAD1FD0E716} 0xffffffffffffffff 0xff Microsoft-WIndows-内核磁盘 0xffffffffffffffffff 0xff Microsoft-Windows-内核文件 0x10 0xff Microsoft-Windows-内核进程 0x20 0xff
- 使用以下方式开始记录:
logman start WDC -pf "C:\Perflogs\WDC_Providers.txt" -bs 64 -nb 16 38 -max 10 -mode newfile -o c:\PerfLogs\output%d.etl -ets