http://twitter.com/ProfMatsuoka/status/10612523523 やり方によるということらしいですが、手元のマシンで試してみた。

FreeBSD/amd64なので sysctl machdep.idle=polling とするとhltしないでぐるぐる回る。初期値は amdc1e になっていて、選べるのは machdep.idle_available: spin, amdc1e, hlt, acpi,。

amdc1eでもspinでも温度に変化がないのでおかしいなぁとおもっていたのだが、ふとネットワークデバイス nfe の設定が polling になっているのを思い出してpollingを切ってみたら温度が下がった。nfeをpollingにしているのは、そうしないとOSがハングアップしてしまうため。

それでも1,2℃しか違わない。温度に関しては動作周波数のほうがずっと影響が大きいようだ。CPUファンの回転数も自動調整なのでそこもモニタリングしないといけないと思うがFreeBSDから観測する方法がわからないのでパス。