印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux CPU の動作周波数が低過ぎる

Movable Type の記事を再構築するのに異様に時間がかかっている。記事数が増えたのが原因ではなく,根本的にサーバの速度が遅いのではないかという疑いが出てきた。調べてみると,動作周波数が低く設定されていることが分かった。

■ ■ ■

最近,Movable Type で 日付別アーカイブの再構築に失敗する ので,EntriesPerRebuild の数値を下げたり,データベースを Berkeley DB から MySQL に するということを行ってきた。しかし,体感的に速度が上がった感じがしない。何かおかしい。再構築うんぬんより前に,そもそも Web サーバの反応が鈍いのである。例えば,「ファイルのUpload」ボタンをクリックしてからウィンドウが出てくるまでに7秒くらいかかるのである。

top コマンドで CPU の使用率を見ると,cpufreqd というデーモンが常時 1 % 程度消費している。cpufreq は CPU の動作速度と動作ポリシーを制御するデーモンである(Gentoo Linux のドキュメント - 電力管理ガイド)。どのような設定になっているのか見てみると,

# cat /proc/cpufreq
          minimum CPU frequency  -  maximum CPU frequency  -  policy
#

となり,「minimum CPU frequency」の下に最低の動作周波数の実際の数値が表示されるはずなのだが,何も表示されていない。echo コマンドでファイルを上書きしても変化がない。cpufreqd が正常に動作していないのだ。これでは cpufreqd を起動している意味がない。

実際の動作速度を調べることにした。

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 10
cpu MHz         : 187.799
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 355.53

CPU のクロック周波数が 187.799 MHz になっている。現在サーバに使っているマシンは ThinkPad T22(2647-9EJ) で,動作クロックは 1 GHz であるから,本来発揮できるパフォーマンスの 20 % 以下でしか動作していないことになる。念のため cpufreqd をスタートアップスクリプトから外して再起動してみたが,cpuinfo に変化はなかった。

サーバのプロセッサは Mobile Pentium III である。このプロセッサに関しては speedstep-ich モジュールを組み込むことで cpufreqd が動作するようになるらしい(TurboLinux User's Board - "speedstep (cpufreq)")。i686 用に最適化されたカーネルのコンフィグレーションファイル (/usr/src/linux/configs/kernel-2.4.27-i686.config) を見ると,speedstep-ich モジュールが有効になっているようなので,そのカーネルを使えば一気に解決するかと思ったのだが,予想に反して状況は変わらなかった。カーネルの再構築をしなければならないかも知れない。「i686」というのは,Linux が Intel 製の最近のプロセッサに対して便宜上つけている名前で,Pentium Pro や Pentium II 以降の CPU を指す (@IT:プログラムをi686に最適化するには)。

2005年9月23日追記:
Vine Linux 3.2 で動作するようになりました (nlog(n): カーネルの再構築でスピードステップに対応)。

Posted by n at 2005-08-17 01:43 | Edit | Comments (1) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments

コメントの登録にも時間がかかっているようなので、動作クロック関連の設定変更が上手く出来ることに期待しています。
では。

(ちなみに休日対応プラグインの間接的利用者です)

Posted by: ち印 at August 17, 2005 09:46
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?