24

コマンドを使用しstart /AFFINITY [n] [.exe]て、指定されたアフィニティで実行可能ファイルを開始しています。8 つのプロセッサ (1、2、3、4、5、6、7、8) を搭載したシステムを使用しています。奇数プロセッサ (1、3、5、7) をすべて使用するようにプロセスを設定したいと思います。これを行う方法がわかりません。start コマンドを使用して可能かどうかを知りたいです。そうでない場合、それを行う別のコマンドラインの方法はありますか?

start コマンドのヘルプは特に役に立ちませんでした。

 AFFINITY    Specifies the processor affinity mask as a hexadecimal number.
             The process is restricted to running on these processors.

             The affinity mask is interpreted differently when /AFFINITY and
             /NODE are combined.  Specify the affinity mask as if the NUMA
             node's processor mask is right shifted to begin at bit zero.
             The process is restricted to running on those processors in
             common between the specified affinity mask and the NUMA node.
             If no processors are in common, the process is restricted to
             running on the specified NUMA node.
4

3 に答える 3

31

AFFINITY は、すべてのプロセッサをきめ細かく制御できるようにする必要がある 16 進マスクで動作します。右端のビットは最下位の CPU (0) を指定することに注意してください ( KB 299641を参照)。

問題のケースでは、0xAA (10101010) は、プロセッサ 1、3、5、および 7 を使用してプロセスを実行することを要求しますが、0、2、4、または 6 は使用しません。コマンド ラインで「0x」を忘れないようにしてください。

 start /affinity AA app.exe

その他の例:

 start /affinity 1 app.exe     (only use CPU 0)
 start /affinity 2 app.exe     (only use CPU 1)
 start /affinity 1F app.exe    (only use CPUs 0, 1, 2, 3, and 4)
于 2011-10-13T20:33:23.557 に答える
11

正しい HEX 番号を取得するには、コアを平面形式 8765 4321 (8 コア CPU の場合) で逆方向に想像してください (ただし、1234 5678 とは異なります)。

コア 7、6、および 3 をアクティブにするには、0x64アフィニティの数値を入力します。

/AFFINITY 0x64

見栄えをよくするために、一致させて比較します。0110 0100- 数値 = 0x64(8765 4321) - コア

@ladenedge の例: /AFFINITY AA 1010 1010- number = 0xAA (8765 4321) - コア

関連項目: Windows 7、8、または Vista で特定の CPU に割り当てられたアプリケーションを起動する

于 2013-09-01T17:01:04.463 に答える