PR

Ubuntu 12.04 CPU動作周波数の動的変更できず

まずは「speedstepの設定 – Ubuntuで自宅サーバーを構築したログ – livedoor Wiki(ウィキ)」を参考に実行したが、「cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors」あたりから反応がなくなる。調べるとそういうものは無いらしい。うーん。

『Ubuntu 10.10』の頃に『CPU 周波数の計測モニタ』というのがあったと思うのですが、『indicator-cpufreq』はそれと同様の機能(「『Ubuntu 12.04』でCPUの動作クロックを確認&変更: パソコン・FXなどに関する日記」より引用)

$ sudo apt-get install indicator-cpufreq

(リポジトリに追加という記述もあるが、現在は不要のようだ)

grep MHz /proc/cpuinfo
cpu MHz         : 2394.444
cpu MHz         : 2394.444

確認するが動作していないように見える。

indicator-cpufreqが使えなくなってる(「【deb系】Ubuntu Linux 58【ディストリ】」より引用)

ということなので「Android Techniques: Ubuntu Server 12.04 をノートPCに入れて運用してみる」を参考に以下のコマンドを実行するが

スポンサードリンク

$ sudo cpufreq-set -g powersave

 Error setting new values. Common errors:
 - Do you have proper administration rights? (super-user?)
 - Is the governor you requested available and modprobed?
 - Trying to set an invalid policy?
 - Trying to set a specific frequency, but userspace governor is not available,
 for example because of hardware which cannot be set to a specific frequency
 or because the userspace governor isn't loaded?

うーん。

cpufreq-info
 cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
 Report errors and bugs to [email protected], please.
 analyzing CPU 0:
 no or unknown cpufreq driver is active on this CPU
 maximum transition latency: 4294.55 ms.
 analyzing CPU 1:
 no or unknown cpufreq driver is active on this CPU
 maximum transition latency: 4294.55 ms.

そもそも「no or unknown cpufreq driver is active on this CPU」となっている。ちなみに以下の記載もあった:

「available cpufreq governors」では、利用可能なgovernorの一覧が表示される。手元の環境ではカーネルビルド設定でconservativeを外しているためにこれが表示されていないが、有効にしていれば表示される(「動的にCPUクロックや電圧を変更するcpufreqの概要とcpufreqdデーモンについて – 試験運用中なLinux備忘録」より引用)

$ sudo /usr/sbin/cpufreqd -D -V 7
 get_kversion             : kernel version is 3.2.0-24-generic.
 get_kversion             : Unknown kernel version, assuming a 2.6 kernel.
 get_cpu_num              : found 2 CPUs
 main                     : Unable to get hardware frequency limits for CPU0.
 init_configuration       : reading configuration file /etc/cpufreqd.conf
 (略)

そもそも「 Unknown kernel version, assuming a 2.6 kernel.」となっている・・。パネルに表示されない。「Ubuntu 11.04にするとCPUクロック表示indicator-cpufreqがシステムトレイに表示されなくなる」に同様の記事があるが、12.04 でもUnity を使っていないのでどうしたらよいかわからない。

「マキノ式ブログ » Ubuntu11.04 “Natty Narwhal” その1: indicator-cpufreqのマルチコア対応」を参考に「indicator-cpufreq & 」とするが次のようにエラーとなる。

Traceback (most recent call last):
 File "/usr/bin/indicator-cpufreq", line 81, in <module>
 ind = MyIndicator()
 File "/usr/lib/python2.7/dist-packages/indicator_cpufreq/indicator.py", line 95, in __init__
 self.update_ui()
 File "/usr/lib/python2.7/dist-packages/indicator_cpufreq/indicator.py", line 106, in update_ui
 fmin, fmax, governor = cpufreq.get_policy(self.cpus[0])
 File "/usr/lib/python2.7/dist-packages/indicator_cpufreq/cpufreq.py", line 143, in get_policy
 policy = (p.contents.min, p.contents.max, p.contents.governor)
 ValueError: NULL pointer access

k10statのように動作周波数を負荷に応じた上げ下げを調節できないか調べたら、cpufreqで出きる(「ねこざんまい | Ubuntu 11.10でcpufreqの設定」より引用)

sudo apt-get install cpufreqd
sudo apt-get install cpufrequtils

EIST非対応のCPU(p4-clockmod)ではperformanceとpowersaveしか選べないが、userspaceで手動でクロックを変更する事はできる(「あかね色の天然水のらくがき帳 温度確認とCPUクロック制御 CPUクロック制御編」より引用)

さらに調べて実行するが

sudo dpkg-reconfigure gnome-applets を実行すると、 Should cpufreq-selector run with root privileges? と聞かれるので、<はい> と答えます(「れぶろぐ – [Ubuntu] Ubuntu 8.04 (Hardy) で動作クロックを簡単に変更する」より引用)

しかし、聞かれない(何も表示されない)。

Gnomeのcpufreq-appletでは、ondemand で動作していることになっている。 しかし、どうもondemandとは思えない。 そして、cpufreq-appletで、CPU周波数のgovernerの設定ができないことに気がついた(「ubuntuでcpufreq-appletの利用 – 落穂拾い」より引用)

設定できないのだろうか。しかしWindows7 でのテスト時には動的変更が確認できたのだが、Ubuntu Server 版では基本的にフルパワーらしい。うーむ。

参考文献

コメント