時悠帖・五差路

まだ若いつもりでいたがついに老いを隠せなくなった爺の 時悠生活雑記

cpufreqd で CPU 周波数制御

昨日は 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 の状態、実行するアプリケーション等によっても制御できるようになった。