少し前に気付いたのだが、SpeedStep が動いていた。今までは手動で CPU 速度の変更ができても、負荷に応じた動的な CPU 速度の変更を行うことができなかった。その動的な速度の変更がいつの間にか動いていたようだ。あれから特に設定を変更したわけではなく、前回の設定のままなので、カーネルか何かが対応したのだと思う (ちなみに、cpuspeed というデーモンは kernel-utils に含まれている)。たぶん、RHEL4 が Update 2 になったあたりだろうか。
これが動くメリットとして、低負荷時は CPU 速度を下げて消費電力を抑えることができる。デメリットとして、「急に負荷が上がる場合、速度が上がるまでのわずかな時間は低速度で動作することになり、もっさりする」なんてことをきいたことがある。確かに、Firefox で大きなウェブページを開くときにレタリングに時間がかかるようになった気がする。。
本当にそうなのか試してみた。用意したのは /dev/zero から 40MB ほど cat で書き出したファイル。これを gzip と gunzip で圧縮したり戻したりしてみた。まずは SpeedStep による動的な速度変更を有効にした状態。
$ time gzip test_file real 0m2.262s user 0m2.011s sys 0m0.088s $ time gunzip test_file.gz real 0m1.210s user 0m0.957s sys 0m0.207s
続いて SpeedStep を無効にし、CPU 速度を最大にした場合。
$ time gzip test_file real 0m0.974s user 0m0.894s sys 0m0.058s $ time gunzip test_file.gz real 0m0.536s user 0m0.405s sys 0m0.113s
このテストでは、処理時間に倍以上の差があることがわかる。もっさりするわけだ。あくまでモバイル向け機能の気はするのだけど、せっかくなのでこのまま SpeedStep を有効にして使い続けるつもり。
- Posted at 2005-11-14 21:14:21
- pc
このエントリへのトラックバック
spamが増えたためトラックバック機能は停止中です。
このエントリへのコメント
spamが増えたためコメント機能は停止中です。