我的电脑有:
- 酷睿2双核
- 4GB 内存
- ATI 5450 Radeon 显卡
- Windows 7 64 位
我想在控制面板中的电源选项中降低最大 CPU 使用率以避免过热。这安全吗?还是降低最大 CPU 使用率会损坏硬件(硬盘、CPU 等)?⠀⠀⠀
答案1
有问题的选项是不是降低频率;Windows 确实不是操纵 CPU 或主板或倍频器或 FSB 或任何东西。你询问的选项只是在任务调度。
当进程运行时,Windows 任务调度程序会分配特定数量的CPU 周期到不同的进程并来回切换以启用先发制人 多任务。通常,它会分配尽可能多的 CPU 周期,以便尽可能快地运行所有程序。如果有空闲周期,它会让程序运行,如果没有空闲周期,它会将进程置于队列并检查是否有其他程序已用尽其当前分配的资源“量子”(或“时间片”)并且应该移至队尾。
毫不奇怪,让 CPU 以 100% 的容量运行一段时间后,它会变热,这是不受欢迎的。Windows 允许您为可用的 CPU 容量分配一个限制。
在这种情况下,当进程请求 CPU 时间时,调度程序的工作方式与以前完全相同,只是它使用计算中指定的限制而不是 100%。因此,将存在未使用的 CPU 周期,从而使 CPU 保持较低的温度。
举一个简化且人为的例子,想象一下这是伪代码对于调度算法(带有标记的注释;
):
; function to calculate total CPU cycles used by all processes
calc-total-used:
used-total = 0 ; initialize counter to 0
for each program: ; loop through each running process
used-total = used-total + process-used ; add CPU cycles of each process to counter
return used-total as percentage ; convert to percent and return value
; main scheduling control, check if free cycles available
if (calc-total-used < max-percent) ; calc used %, see if less than max allowed
then run program ; if so, run the program
else: ; if not, try to free some up
add program to queue ; if not, add it to the queue
… ; check if any process are out of cycles
注意调度计算如何使用max-percent
多变的而不是硬编码100%
。这样,如果你将其设置为低于 100%,它将只允许程序在当前使用率为低于 100%,这当然意味着max-percent
上述之间的任何 CPU 周期都不会被使用。
因此,此选项不能损害 CPU;这与不运行任何程序、只是让系统空转没什么区别(你的系统可能已经处于接近 0% CPU 负载的空转状态许多次)。