减少电源选项中的最大处理器使用率是否安全?

ali*_*ali 2 cpu windows-7

我的电脑有:

  • 核心 2 双核
  • 4GB 内存
  • ATI 5450 Radeon 显卡
  • 视窗 7 64 位

我想在控制面板的电源选项中减少最大 CPU 使用率以避免过热。这是安全的,还是可以减少最大CPU使用率损坏硬件(硬盘、CPU等)????

Syn*_*ech 8

有问题的选项不是降频;Windows并没有操纵CPU或主板或乘数或FSB或任何东西。您询问的选项只是在task-scheduling期间使用的一个因素。

当进程运行时,Windows 任务调度程序将特定数量的CPU 周期分配给不同的进程并来回切换以启用抢占式 多任务处理。通常,它会分配尽可能多的 CPU 周期,以便尽可能快地运行所有程序。如果有空闲周期,它让程序运行,如果没有,它把进程放在一个队列中并检查是否有另一个程序已经用完了它对当前“量子”(或“时间片”)的分配) 并且应该移到行的后面。

毫不奇怪,以 100% 的容量运行 CPU 一段时间会使其发热,这可能是不可取的。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
Run Code Online (Sandbox Code Playgroud)

注意调度计算如何使用max-percent 变量而不是硬编码100%。这样,如果您将其设置为低于 100%,则仅当当前使用率低于 100%时才允许程序运行,这当然意味着max-percent将不会使用以上之间的任何 CPU 周期。

因此,此选项不会损害 CPU;它并不比根本就没有运行任何程序,只是空转系统(你可能已经已经有了你的系统接近0%CPU负载怠速不同的许多倍)。