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 ThreadingはBIOS側でも機能のOn/Offを制御してますが,ThinkPadのBIOSのところでHyper ThreadingがONに設定されていることも必須条件です.
そんなわけで,SuSEはデフォルトでOK,偉い偉い〜.