落穂拾い

Gleanings in my life

cpufreq-applet on ubuntu 7.04

2007年06月06日 19時37分27秒 | Linux
Gnomeのアプレット(cpufreq-applet)でCPUの動作周波数を設定するのには、基本的にはカーネル設定以外は必要がない。
lsmod | grep cpu

とすると、ちゃんと cpufreq_userspace, cpufreq_ondemand など必要そうなものはロードされている。しかしGnomeのアプレットを左マウスクリックしてもメニューが開かない…。

Gnomeアプレットのヘルプを見ると、システム設定によるとなっている。そこで、まずは不必要なデーモンを削除する。ubuntuにデフォルトで入っているCPU動作周波数制御用のアプリケーションは powernowd というやつだ。よく知らないアプリケーションだが、機能は少ないが簡単に設定できるのが特徴らしい。が、必要ないのでさくっと synaptic で削除する。

この状態でも cpufreq-applet は有効に機能しない。/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor を書き換えるだけの機能が使えないのはパーミッションに原因があるのかもしれない。というわけで、rootで使ってみることにする。

root で gdm からログインするために、まずは gdmsetup で root でのログインを許可する。root でログイン後、cpufreq-applet を追加すると、GUIデザインが Gentoo のときよりも劣っているような気がするが、とりあえず必要なメニューが出てきて、governor を選択できるし、userspace で好きなクロックも選択可能だ。要するにパーミッションの問題であったということだ。

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ファイルを書き換えられるようにすればいいだけのことだが、このファイル(擬似ファイルシステム)のパーミッションを変えても意味がないので cpufreq-applet のパーミッションを変えてみる。
sudo chmod +s /usr/lib/gnome-applets/cpufreq-applet

としてみる。すると、アプレットを追加することさえできなくなった。どうやら +s されたアプレットは「セキュリティ的に危険」とでも判断されているのだろう。というわけで、cpufreq-appletのモードは元に戻す。

そして彷徨って辿りついたのがSUSEのforum。どうもcpufreq-selectorが意味ありげらしい。で、
sudo chmod +s /usr/bin/cpufreq-selector

これで解決。一般ユーザが簡単にgovernorを操作できるようになった。

と、思いきや、powernowdを削除してしまうと cpufreq_userspace などのモジュールが自動で load されなくなってしまう…。便利なような不便なような…。というわけで、/etc/modules に
cpufreq_userspace
cpufreq_ondemand

くらいを登録しておく。

最後に残った問題は、ondemand を選択すると常にフルパワーで動作することだ。これじゃ performance governor と変わらんがな。何かが悪いような気がする。

コメントを投稿