「Cool'n'Quiet」とは、AMDのプロセッサに搭載されている省電力用の機能のこと。
自分は、てっきりハードウェア的に制御されていると思ったら、
ソフトウェア的に制御を行うものらしい。
従って、OSによっては制御するための設定を行わないと、有効にならない。
うーん、自分としては、ソフトウェアから制御を行い、OSによって対応が
異なってくるような機能ってのも、考えづらい気がするんだけどなぁ。
というのとも、OS(あるいは、その他のソフトウェア)がサポートしなければ
その機能が有効にならないわけだし、ハードウェアレベルで制御すれば良いと思う。
OSのベンダーによっては、対応してくれない、というのもあるだろうし、
かといって、AMD側が各OSに対応するのも大変な気がする。
ハードウェアレベルで制御しない理由として、負荷がかかっているかどうか
CPU側で判断するのが難しい、というような理由が挙げられたけど、
CPUの命令実行状況を見ていれば、わからなくもないと思う。
ただ、実際、それにかかるコストが結構大きいというのもあるかもしれないし、
「Cool'n'Quiet」を有効にすると不安定になる可能性があるので、結局、
ソフトウェアに任せるのが有効なのかもしれない。
ここら辺の経緯について、是非ともAMDの中の人とかに聞いてみたいな。
前置きはこれくらいにしておいて、サーバの音を聞いていたら、
ファンの音がうるさくて、この設定をしていなかったことに思い出した。
以前に、リモートからやろうと思ったけど、不安定になる可能性があったので
リモートからはやらなかった。
設定は、以下のページを見て行った。
Lyo.blog:FreeBSD で Cool'n'Quiet → Athlon64が62MHz駆動?
http://hoge.sub.jp/blog/archives/2006/10/freebsd_coolnqu.html
で、結果・・・。
「sysctl -a dev.cpu.0.freq」で、動作周波数を確かめてみたところ、
1000MHzとかに下がっていることを確認した。
ただ、負荷をかけると1800MHzになって、負荷をかけないと1000MHzにしかならない。
おかしいな、と思って、「sysctl -a dev.cpu.0.freq_levels」したら・・・
yasuharu% sysctl -a dev.cpu.0.freqlevels
dev.cpu.0.freqlevels: 1800/100000 1000/35555
えぇ、、、2段階しかないよ・・・。
数百MHz程度まで下がることを期待したのに。。。
考えられることとしては、サーバとして使用しているマシンが、ML115だけど、
実はCPUを変えていてSempron 3200+のTDP 35W版を使っているため。
うーん、これだと、もしかしたら、元々のCPUを「Cool'n'Quiet」で周波数を
下げた方が電気代かからなかったりして。