|
现在的CPU都有自动调频功能了,忙时全速跑,闲时降频跑,这温度的差别是一个天一个地。当然,要开启自动调频,内核里也要编译进相应的cpufreq_governer才行,我使用的是conservative,平时以最低频运行,必要时再自动慢慢提高频率。
portage有一个变量,叫PORTAGE_NICENESS,可以设置运行emerge的时候的nice值。nice值的范围在-20至19之间,nice值越高,那进程就越nice,优先级就越低。把PORTAGE_NICENESS设为19,那emerge进程及编译的进程的优先级就变成最低了。
光这样设置还不行,因为nice值只控制优先级,当其余进程都空闲时,即使最nice的进程也会变成全速跑,那就达不到控制CPU的温度的目的了。不过,在/sys/devices/system/cpu/cpufreq/conservative/目录(我使用conservative的cpufreq_governer)下面,有一个叫做ignore_nice_load的文件,把它的值改为1,任何具有nice值的进程将不会计入系统的负载里,即cpufreq_governer依然判断当前的负载很低,于是便继续让CPU保持在最低频率运行。
这样设置之后,以后emerge的时候,CPU会以最低频率编译软件包,编译时间会大大延长,但同时温度也只会轻微升高。我的笔记本的CPU是P8600,降频到800M Hz来长时间编译,CPU的温度也只比待机时上升了不到10度,风扇也不再狂转了。 |
|