FreeBSDのCPUクロック管理

Core2Duoのマシンをサーバマシンとして使うため、
自動的にCPUクロック制御をしてくれるpowerdを設定しました。

とても簡単ですが、備忘録として記録します。


powerdを起動する

  1. /etc/rc.confに下記記述を追加
  2. powerd_enable="YES"
  3. powerdを起動する
  4. $ sudo /etc/rc.d/powerd start
    ※“Starting powerd.”と表示され、他に何かエラーが表示されなければOKです。


使っているCPUがサポートするクロックを確認する

  1. 以下のコマンドを実行します
  2. $ sysctl -a dev.cpu.0.freq_levels
    こちらが私の環境で表示されたクロック一覧です。8段階も変わるとは恐るべし・・・^^;
    dev.cpu.0.freq_levels: 1867/100000 1633/87500 1400/75000 1166/62500 933/50000 700/37500 466/25000 233/12500


現在のCPUクロックを確認する

  1. 何も処理をしていない状態で、以下のコマンドを実行します
  2. $ sysctl -a dev.cpu.0.freq
    こちらが私の環境で表示されたクロックです。233となっているので一番遅いクロックまで落ちているようです。
    dev.cpu.0.freq: 233

# powerdを有効にしてから10分後:心なしか部屋の温度が下がってきたような気がします^^;


現在のCPUクロックを確認する その2

  1. 別の端末で"portupgrade -aRP"を実行し、コンパイルを行っている状態で以下のコマンドを実行します
  2. $ sysctl -a dev.cpu.0.freq
    こちらが私の環境で表示されたクロックです。素晴らしい!一番速いクロックに変化しています。
    dev.cpu.0.freq: 1867


実行環境
CPU:Core2Duo E6300
OS:FreeBSD 7.2-RELEASE GENERIC amd64


感想
今までのサーバマシン(AMD FX-51)では、powerdが動かず常に一番高いクロックでした。
# "/etc/rc.d/powerd start"としたところで"powerd: lookup freq: No such file or directory"と怒られてしまいました・・。サポートされていないようです。
電気代も発熱量も馬鹿にならなかったので、もっと早く入れ替えれば良かったなと少々後悔・・・。
ワットチェッカーをそのうち買って、どれくらい差が出るか見てみたいと思います。