昨日は cpufrequtils で負荷に応じたCPU周波数制御が可能となったが、電源 AC/BATT 等の状態によっても制御できるようにする。
/etc/default/cpufrequtils は ENABLE="false" に戻し、
# /etc/init.d/cpufrequtils stop しておく。
(あるいは、cpufrequtils をアンインストールする。ただし、 cpufreq-info コマンドが使えなくなる。)
cpufreqd をインストールする。
$ cat /etc/default/cpufreqd
CPUFREQ_CPU_MODULE="" # ここに speedstep-centrino と記述すれば、/etc/modules への記述は不要
CPUFREQ_GOV_MODULES="auto" # このままで良い
/etc/cpufreqd.conf を自分の環境に応じて修正する。
[Profile]〜[/Profile] で policy(動作周波数)を決め、
[Rule]〜[/Rule] でその policy を適用する条件を指定する。
例えば、
[Profile]
name=Conservative High
minfreq=1000000 # 周波数を指定すること
maxfreq=1600000
policy=conservative
[/Profile]
[Rule]
name=AC On
ac=on
profile=Conservative High
[/Rule]
次の rule は AC On/Off によって挙動が異なったため、一部コメント化した。
[Rule]
name=High Performance
programs=totem,mplayer,vmplayer # Performance High で動かしたいアプリケーションを列記
# battery_interval=0-100 # コメント化
acpi_temperature=0-60
# cpu_interval=0-100 # コメント化
profile=Performance High
[/Rule]
# /etc/init.d/cpufreqd restart
これで、AC On/Off, BATT の状態、実行するアプリケーション等によっても制御できるようになった。