如何在计算机空闲时检查 CPU 的尖峰信号

Ori*_*gin 4 cpu performance windows-10

我的带有 i7 和 16 GB RAM 的 Windows 10 笔记本电脑在我不使用时经常让风扇全速运转。当我试图唤醒它以检查发生了什么时,有时响应有点慢。每次我尝试打开任务管理器查看详细信息选项卡并查看正在使用 CPU 的内容时,都没有显示任何内容。我以管理员身份运行,所有任务都在显示。我猜测系统隐藏了它正在处理的内容,因为它被视为“系统”任务。

有什么好用的工具可以监控和报告 CPU 的使用情况?我以前使用过 ProcMon,但我没有发现输出特别准确或有用。

更重要的是,我怎样才能阻止这种情况发生?我很恼火,这么多软件在我的电脑空闲时感觉需要做一些事情。有没有类似 ZoneAlarm 的东西,但对于 CPU 而言?

mag*_*981 9

安装 Windows Performance Toolkit,它是Windows 10 SDK 的一部分

运行"C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\WPRUI.exe",选择First LevelCPU和点击Start

在此处输入图片说明

现在让 PC 闲置,然后等待粉丝再次来到这里。现在等待 20 秒,然后单击Save将跟踪存储到 ETL 文件中。

在此处输入图片说明

现在双击 ETL 以将其加载到 WPA.exe 中。在 WPA 中加载调试符号并将CPU usage (Sampling)图表从左侧拖放到分析窗格。右键单击汇总表的标题并激活堆栈列。

现在查看哪个进程使用最多的 CPU(重量百分比)并展开堆栈并查找该进程执行的函数名称。

我假设您将ntoskrnl.exe!MiScrubMemoryWorker原因视为原因。

Line #, DPC/ISR, Process, Stack Tag, Stack, Count, TimeStamp (s), % Weight
8, , , ,    |    |    |- ntoskrnl.exe!MiScrubMemoryWorker, 79667, , 12,45
9, , , ,    |    |    |    ntoskrnl.exe!MiScrubNode, 79667, , 12,45
10, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePages, 79667, , 12,45
11, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePageList, 79667, , 12,45
12, , , ,   |    |    |    |- ntoskrnl.exe!MiScrubPage, 79663, , 12,45
13, , , ,   |    |    |    |    |- ntoskrnl.exe!RtlScrubMemory, 79653, , 12,45
14, , , ,   |    |    |    |    |    |- ntoskrnl.exe!RtlpGenericRandomPatternWorker, 38549, , 6,02
Run Code Online (Sandbox Code Playgroud)

这是一个通过填充/读取一些模式(ntoskrnl.exe!RtlpGenericRandomPatternWorker)来测试内存错误的功能。

这是设计使然,当您的设备空闲时空闲维护任务开始时会发生。

您可以在 下的任务计划程序中禁用此任务Task Scheduler Task Scheduler Library->Microsoft->Windows->MemoryDiagnostic

如果这不是原因,请在 OneDrive 上共享 ETL(压缩为 zip)并在此处发布链接。

  • 这正是我的问题所在,我的 ntoskrnl.exe!MiScrubMemoryWorker 在我的 %Weight 列中排名靠前。 (2认同)

AdH*_*nem 0

那么您所能得到的只是正在运行的进程列表(任务管理器)。所有其他工具都使用相同的数据。一般来说,您可以跟踪进程并检查它们需要多少 CPU 时间,但是:

1) 响应缓慢的原因有很多 2) 风扇转速与 CPU 使用率关系不大

我认为它不是 U 系列 i7,而是 M,所以这是一个要求相当高的系统,需要经常冷却。风扇运行的时间和速度取决于风扇配置。