<GCNoAffinitize> 要素

サーバー GC スレッドを CPU に関係付けるかどうかを指定します。

<構成>
  <runtime>
    <GCNoAffinitize>

構文

<GCNoAffinitize
   enabled="true|false"/>

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
enabled 必須の属性です。

サーバー GC スレッド/ヒープをコンピューターで使用可能なプロセッサと関連付けるかどうかを指定します。

enabled 属性

[値] 説明
false サーバー GC スレッドを CPU と関連付けます。 既定値です。
true サーバー GC スレッドを CPU と関連付けません。

子要素

なし。

親要素

要素 説明
configuration 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。
runtime アセンブリのバインディングとガベージ コレクションに関する情報が含まれています。

解説

既定では、サーバー GC スレッドとそれぞれの CPU にはハード アフィニティがあります。 システムの使用可能な各プロセッサには、独自の GC ヒープとスレッドがあります。 キャッシュの使用が最適化されるため、通常はこの設定が優先されます。 .NET Framework 4.6.2 以降では、GCNoAffinitize 要素の enabled 属性を true に設定すると、サーバー GC スレッドと CPU が密に結合しないように指定できます。

サーバー GC スレッドを CPU と関連付けないように、GCNoAffinitize 構成要素のみを指定できます。 また、この要素を GCHeapCount 要素と共に使用して、アプリケーションで使用される GC ヒープとスレッドの数を制御することもできます。

GCNoAffinitize 要素の enabled 属性が false (既定値) の場合は、GCHeapCount 要素を使用して GC スレッドとヒープの数を指定することもできます。また、GCHeapAffinitizeMask 要素を使用して、GC スレッドとヒープを関連付けるプロセッサを指定することもできます。

次の例では、サーバー GC スレッドにハード アフィニティを設定しません。

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCNoAffinitize enabled="true"/>
   </runtime>
</configuration>

次の例では、サーバー GC スレッドにアフィニティを設定せず、GC ヒープ/スレッドの数を 10 に制限します。

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCHeapCount enabled="10"/>
      <GCNoAffinitize enabled="true"/>
   </runtime>
</configuration>

関連項目