Windows XPではマルチCPU環境でフルパワーが発揮できない!?
Windows XP SP2(多分SP1も駄目でしょう)では、マルチCPU環境がその力をフルに発揮することができないようです。この対象は、デュアルCPUやデュアルコアCPUなどの物理的に複数のCPUがある場合はもちろん、インテルのハイパースレッディングテクノロジー(HTT)のような論理2CPUも含まれるようです。
Windows XP SP2 Dual Core Performance Hot Fix Download
http://www.amdzone.com/modules.php?op=modload&name=News&file=article&sid=3964
現在のWindows XPでは、CPUがACPIのCステートの移行がマルチCPU環境でうまくいかないようです。シングルスレッドのタスクにおいてWindows XPが最適なCPUの状態をうまく適用できないため、本来ならもっと高い負荷がかかっているはずなのに、CPUのパフォーマンス移行がうまくいかないため、それに適したパフォーマンスを発揮できないようです。
おそらくこの現象は、C1Eステートが存在するCPU(P4など)やCool'n'Quiet機能が有効になっているAthlon 64 X2などでは影響が大きくなるかもしれないです。
で、この症状を改善できる方法は一応あるようです。なぜ、一応としているかというと少々面倒だからですw
MSは、この問題を解決するhotfixを用意はしているのですが、現在は、ダウンロードセンターなどでは公開していません。直接MSのサポートに連絡してhotfixをもらわなくてはなりません。
これで工エエェェ(´Д`)ェェエエ工と思う人もいるかもしれませんが、実を言うと上のリンク先の一番最初の方にDLできるところがありますw。とりあえず、このファイルをDLしてください。それをインストールすると次のファイルがアップデートされます。
Date Time Version Size File name
--------------------------------------------------------------
23-Jun-2005 00:05 5.1.2600.2705 134,272 Halmacpi.dll
23-Jun-2005 00:30 5.1.2600.2705 2,136,064 Ntkrnlmp.exe
23-Jun-2005 00:05 5.1.2600.2705 2,015,744 Ntkrpamp.exe
ちなみに、私の現在の環境ではこれらのファイルのバージョンは次のようになっています。
Date Time Version Size File name
--------------------------------------------------------------
8-Aug-2004 14:59 5.1.2600.2180 134,440 Halmacpi.dll
3-Mar-2005 03:06 5.1.2600.2622 2,135,552 Ntkrnlmp.exe
3-Mar-2005 03:06 5.1.2600.2622 2,015,232 Ntkrpamp.exe
これをインストールしただけではまだ駄目で、レジストリの変更がさらに必要です。
レジストリエディタを起動して以下の作業を行います。
1.HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Session Managerで、新しいキーを作成
2.新しいキーの名前をPerfEnablePackageIdleとしてDward(16進数)を1とする。
これでOKみたいです。一応間違っていることを書いていた場合のために、以下にMSのサポートサイトのリンクを貼っておきます。
http://support.microsoft.com/?id=896256
一応、HTT対応のP4マシンがあるので、試してみようと思います。よくレビューで、P4はHTTを切った方がシングルタスクは速いと言うのを見たことがありますが、これが原因な気がします。あとで自分のマシンに適用した結果を公開しようと思います。
追記:一番上のサイトにあるリンク先でダウンロードできるHotfixは日本語版Windows XPでは適用できないようです。やはりMSに直接頼むしかなさそうですねー^^;
さらに追記:MSのサポート契約が必要らしくて、4000円が必要っぽいです。たかが修正プログラムの一つのためにどうしようかなぁ。SP3に収録予定らしいので、おとなしく待つかなぁ。
コメント