Hyper Threading on SuSE Linux 9.2

今日会社から退社するちょっと前,Thinkpad on SuSEはデフォルトでHyper Threadingが使えるようになっているのか否かという話になった.

ある後輩の話では,以前Redhatで調べたときは,カーネルコンパイルの際に何かのオプションをつけるとSMPが有効になって,その場合topコマンドでCPUが2個あるかのように見えて確認できたという(後輩自身も他の人から聞いた話らしく不明瞭).

さっそく帰宅した後,ThinkPad G41 with SuSE 9.2を起動し(というか起動しっぱなしだけど)topコマンドを叩いてみる.

・・・・・・.

CPUが1行しかないよ(涙

さてはて,,,ということでちょっと調べてみた.

ITMediaのこの辺の記事(http://www.itmedia.co.jp/enterprise/special/0211/linux_ht.html)とかがgoogleでヒットしたのでまずこれを参考に調べ初めてみた.しかしどうも後輩の話もこの記事の状態ともうちは違うらしい.

ということでもう少し調べてみた結果,判明.結論から言うと,デフォルトでHyper Threadingが利用されています.(やった〜!)

以下,ついでなので調査の結果分かったことを少々記します.

  • rpm -qa | grep kernelを実行してkernel-smp-2.6.8-14が入っていればとりあえずOK.無ければ追加インストールする必要有り.
  • Hyper Threadingが利用されていてもtopコマンドはCPUを1つしか表示しない.
  • Hyper Threadingが利用されていれば/proc/cpuinfoに複数分のCPUの情報があり,siblingsが2であり,flagsにhtのフラグがある.
  • Hyper Threadingが利用されていれば/proc/statにcpu0とcpu1といった複数のCPUの情報がある.
  • xosviewというGUIアプリケーション(YaSTを使ってインストールDVD/CDからインストール可能)で実際にCPUが2個別々に使用されている様子をダイナミックに確認できる.

Hyper ThreadingBIOS側でも機能のOn/Offを制御してますが,ThinkPadBIOSのところでHyper ThreadingがONに設定されていることも必須条件です.

そんなわけで,SuSEはデフォルトでOK,偉い偉い〜.