インテルCoreプロセッサーデータシート、第1巻、38ページ:
Intelハイパースレッディングテクノロジー
[...] BIOSを使用してこの機能を有効にする必要があり、オペレーティングシステムのサポートが必要です。
これは、ハイパースレッディングがCPUダイ上の実際の物理ハードウェアであり、ハードウェアレベルでのみ有効化/無効化できるためです。
どのアプリケーションがハイパースレッディングでうまく機能しないかがわかっている場合は、XPがあればStartAffinityなどのツールを使用できます。
Windows 7を使用している場合、start
これを実行できる組み込みコマンドがあります。次のコマンドを使用して、特定のプロセッサアフィニティを持つプロセスを起動します(ここでも、/AFFINITY
引数はWindows 7でのみ追加されました)。
start /AFFINITY <mask> "C:\yourprogram.exe"
<mask>
実行するプロセッサの16進マスクで置き換える必要がある場所(プロセッサマスクは、そのアフィニティを有効/無効にする単なるバイナリマスクであるため、00000101はCPU0とCPU2を有効にし、00000010はCPU1のみを有効にします)。
進値を計算するには、いずれかのバイナリマスクを変換し、することができますかあなたは(0から始まる)でプログラムを実行するコアのパワーに2の合計を取り、16進数にその値を変換します。
たとえば、4コアシステムがあり、CPU0とCPU2でのみプロセスを実行したい場合、2 0 + 2 2 = 1 + 4 = 5 を追加します。5を16進数に変換します。それをあなたの<mask>
。00000101を16進数に変換することもできます。これらのベースの変換方法がわからない場合は、この変換テーブルを使用できます。