web-dev-qa-db-ja.com

プロセッサアフィニティマスク(IIS)の式

私は24コア/ 48 GB RAMサーバーマシンを持っており、ワーカープロセスのプロセッサアフィニティをIIS事前設定、このプールは頻繁にリサイクルされるため、式はありますが、タスクマネージャーを介してアフィニティを設定したくありません。

3
Ali Hasan

http://www.iis.net/configreference/system.applicationhost/applicationpools/add/cp

smpProcessorAffinityMask
オプションのuint属性。

マルチプロセッサコンピューターの16進プロセッサーマスクを指定します。これは、ワーカーがアプリケーションプールで処理するCPUをバインドする必要があることを示します。このプロパティを有効にするには、アプリケーションプールのsmpAffinitized属性をtrueに設定する必要があります。

注:64ビットコンピューターでは、smpProcessorAffinityMask属性にプロセッサーマスクの下位DWORDが含まれ、smpProcessorAffinityMask2属性にプロセッサーマスクの上位DWORDが含まれます。 32ビットコンピューターでは、smpProcessorAffinityMask2属性は効果がありません。

値を1(バイナリの0000000000000000001に対応)に設定すると、アプリケーションプール内のワーカープロセスは最初のプロセッサでのみ実行されます。値を2(バイナリでは0000000000000010に対応)に設定すると、ワーカープロセスは2番目のプロセッサでのみ実行されます。値を3(バイナリでは0000000000000011に対応)に設定すると、ワーカープロセスは最初のプロセッサと2番目のプロセッサの両方で実行されます。

注:このプロパティを0に設定しないでください。設定すると、対称型マルチプロセッシング(SMP)アフィニティが無効になり、エラー状態が発生します。これは、1つのCPUで実行されているプロセスが、その存続期間を通じてそのCPUとの関係を維持しないことを意味します。

デフォルト値は4294967295です。

まず、smpAffinitizedをtrueに設定します。

プロセッサの識別は右から左に行われます。プロセッサ0から開始します。最後の12プロセッサにアフィニティを設定するには:

0000 0000 1111 1111 1111 0000 0000 0000

次に、それを16進数に変換します。

0x1FFE000
5
Ryan Ries

NUMAノードのアフィニティごとにグラフを作成しました。誰かがそれから利益を得ることができることを願っています。

enter image description here

4
Ali Hasan