我有一个关于 Windows 8 中任务管理器的问题。它向我们显示了 CPU 利用率和速度。据我所知,利用率是指处理器运行进程所花费的时间。速度是指处理器的当前时钟速度(由于省电功能,它可能动态变化)。我的问题是,假设我有一台以 0.7 GHz 时钟速度空闲的计算机,平均利用率约为 8%。如果我禁用省电功能并让计算机以 2.0 GHz 的最大容量空闲,空闲时的利用率平均值不应该小得多吗?
我现在的笔记本电脑情况并非如此;无论我的电脑以平均 0.7GHz 还是平均 2.0 GHz 的速度运行,利用率总是下降到 8% 左右。
有人能给我解释一下吗?
谢谢你!
答案1
不同时钟频率下利用率没有差异可能是因为计算不受时钟速度的限制。例如,如果内存访问延迟或带宽是限制性能的主要因素,那么降低时钟频率可能不会显著降低性能(因此利用率将或多或少保持不变)。
另一个因素可能是跟踪利用率的粒度。如果使用简单的 1ms 计时,那么时间颗粒的任何部分都可以算作整个颗粒。如果活动频繁(每秒 80 次),但极其短暂的(全速模式下每次活动爆发小于 1ms - 即使只有 500,000 个 CPU 周期 [0.7GHz 时为 0.7ms] 也能完成一些工作),那么两个时钟频率都会具有相同的测量利用率。
也有可能在低功耗模式下系统的工作量较少。这可能是非常合理的设计选择。全速模式下的额外工作可能会提高响应速度或以牺牲能效为代价提供其他好处。在低功耗模式下,人们会更积极地追求能效。
答案2
让我打个比方:如果我在装配线上工作,8% 的时间都花在了给机器拧螺丝上,如果我的工作速度提高一倍,那么拧螺丝仍然需要花费我总时间的 8%,只是我的总时间现在只有原来的一半。
因此,您的处理器速度会增加,但无论使用 CPU 进行什么活动,仍然会使用相同的 CPU 比率,只是每秒执行的操作更多。