当我打开任务管理器和进程资源管理器时,我可以看到它们呈现不同的 CPU 利用率值。此外,同一任务管理器中的“进程”和“详细信息”选项卡指示不同的 CPU 利用率值。我想了解为什么,所以我尝试做一些研究。
我猜测差异是因为某些性能监视器在计算中包含 CPU 速度,而其他监视器则不包含。为了测试这个理论,我在 python 中创建了一个简单的无限循环,它不使用 IO: while True: pass。这会耗尽正在运行的核心,因为它根本不使用 IO,因此核心没有闲置时间。
我运行循环查看结果:
- 进程资源管理器: python.exe 8.34%
- 任务管理器的“详细信息”选项卡: python.exe 8%
- 资源监控:最大频率180%
- 任务管理器的“进程”选项卡: python.exe 16.8%
- 进程资源管理器 CPU 使用率: 10.28%
- 资源监视器: CPU 使用率 19%
- 任务管理器的“性能”选项卡: CPU 利用率 19%
现在让我们做一些数学计算并解释这些值。我使用 12 个逻辑处理器,基本速度为 2.21GHz,所以结果是:
- 进程资源管理器: python.exe 8.34%
- 我的 python 程序应该耗尽一个核心。我的系统有 12 个逻辑核心,因此 100/12 约为 8.34。
- 任务管理器的“详细信息”选项卡: python.exe 8%
- 与之前的计算相同,但任务管理器将结果四舍五入为 8%。
- 资源监控:最大频率180%
- 180%的基础速度约为3.98GHz,这是我测试时的CPU速度。
- 任务管理器的“进程”选项卡: python.exe 16.6%
- 8.34 的 180% 是 15,这不完全是 16.6,但非常接近......
- 进程资源管理器 CPU …