cpufreqd 的配置方法
用 notebook 如果不配好 speedstep, 风扇的声音会很烦, 电池时间当然也会减少 ---- 不过我倒不在意它, 因为基本不用电池.
常用的 speedstep 软件, 有 cpudyn, cpufreqd, powernowd, 而新版的 kernel 里面的 cpufreq_ondemand, 也能够按照系统负荷来调整 cpu 频率.
那为什么不直接用 cpufreq_ondemand 呢 ? 举个例子, 有些网站有些糟糕的 javascript, 会让 cpu 利用率到 100%, 我可不想为这些网站让 cpu 跑全速, 我希望cpu 只是跑 gcc/g++/make, 或者加上 bzip2, gzip 等时候, 才跑全速, 其他时候, 凉快一点好. 这就需要 cpufreqd 了, 核心自己, cpudyn 和 powernowd 做不到.
需要使用 speedstep, kernel 配置, 必须:
cpudyn, cpufreqd, powernowd 他们除了需要有合适的 speedstep 接口, 相关的 gover, 还需要
/proc 或者 /sys 里面的用户级代码和核心代码的通信接口, 每个软件需要的不太一样,我懒得细细
检查, 编译核心的时候将每个接口选了, 包括这三个过时接口 /proc/cpufreq, /proc/sys/cpu/
/proc/acpi/processor/../performance, 反正这也不会增大多少开销.
cpufreqd 不会自动 load module, 所以, 用到的 cpufreq_gov, 就是 cpufreq_performance,
cpufreq_powersave, cpufreq_ondemand 那几个, 要么编译到内核里, 要么在 modules 中进行
装载.
我是让 cpufreqd 使用 acpi 而不是 apm 来工作的, 因此, 系统必须安装 acpid
我的 /etc/modules 如下
我的 cpufreqd.conf 是为编译提供高速 cpu, 其他时候低速的, 如下
然后 killall -SIGHUP cpufreqd, cpufreqd 就能够正常工作了, 这样灵活的配置, windows 下面好象也只有 ibm/sony/toshiba 三家的程序可以做到
常用的 speedstep 软件, 有 cpudyn, cpufreqd, powernowd, 而新版的 kernel 里面的 cpufreq_ondemand, 也能够按照系统负荷来调整 cpu 频率.
那为什么不直接用 cpufreq_ondemand 呢 ? 举个例子, 有些网站有些糟糕的 javascript, 会让 cpu 利用率到 100%, 我可不想为这些网站让 cpu 跑全速, 我希望cpu 只是跑 gcc/g++/make, 或者加上 bzip2, gzip 等时候, 才跑全速, 其他时候, 凉快一点好. 这就需要 cpufreqd 了, 核心自己, cpudyn 和 powernowd 做不到.
需要使用 speedstep, kernel 配置, 必须:
代码:
1. 提供操作 speedstep 的 api |
cpudyn, cpufreqd, powernowd 他们除了需要有合适的 speedstep 接口, 相关的 gover, 还需要
/proc 或者 /sys 里面的用户级代码和核心代码的通信接口, 每个软件需要的不太一样,我懒得细细
检查, 编译核心的时候将每个接口选了, 包括这三个过时接口 /proc/cpufreq, /proc/sys/cpu/
/proc/acpi/processor/../performance, 反正这也不会增大多少开销.
cpufreqd 不会自动 load module, 所以, 用到的 cpufreq_gov, 就是 cpufreq_performance,
cpufreq_powersave, cpufreq_ondemand 那几个, 要么编译到内核里, 要么在 modules 中进行
装载.
我是让 cpufreqd 使用 acpi 而不是 apm 来工作的, 因此, 系统必须安装 acpid
我的 /etc/modules 如下
代码:
speedstep-ich |
我的 cpufreqd.conf 是为编译提供高速 cpu, 其他时候低速的, 如下
代码:
# 这里省略掉了 profile 的定义, 用回缺省的就好. |
然后 killall -SIGHUP cpufreqd, cpufreqd 就能够正常工作了, 这样灵活的配置, windows 下面好象也只有 ibm/sony/toshiba 三家的程序可以做到