Бөлісу құралы:


элемент <GCHeapCount>

Указывает количество куч или потоков, используемых для сборки мусора сервера.

<конфигурация>
   <Среды выполнения>
     <GCHeapCount>

Синтаксис

<GCHeapCount
   enabled="nn"/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Attributes

Свойство Description
enabled Обязательный атрибут.

Указывает количество куч, используемых для сборки мусора сервера. Фактическое количество кучи — это минимальное количество кучи, указанное и количество процессоров, которые можно использовать.

атрибут включено

Ценность Description
nn Количество кучи, используемых для серверной сборки GC.

Дочерние элементы

Нет.

Родительские элементы

Элемент Description
configuration Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.
runtime Содержит сведения о привязке сборки и сборке мусора.

Замечания

По умолчанию потоки GC сервера жестко сопоставлены с соответствующим ЦП, чтобы для каждого процессора существовал один куча GC, один поток GC сервера и один поток фонового сервера GC для каждого процессора. Начиная с .NET Framework 4.6.2, можно использовать GCHeapCount элемент, чтобы ограничить количество куч, используемых приложением для серверной сборки GC. Ограничение количества кучи, используемых для серверной сборки GC, особенно полезно для систем, работающих с несколькими экземплярами серверного приложения.

GCHeapCount обычно используется вместе с двумя другими флагами:

  • GCNoAffinitize, который определяет, совпадают ли потоки или кучи сервера GC с ЦП.

  • GCHeapAffinitizeMask, который управляет сходством потоков и кучи GC с ЦП.

Если GCHeapCount задано и GCNoAffinitize отключено (его параметр по умолчанию), существует сходство между потоками или кучами nn и первым процессором nn . Элемент можно использовать GCHeapAffinitizeMask для указания процессоров, используемых кучами GC процесса. В противном случае, если несколько процессов сервера выполняются в системе, их использование процессора будет перекрываться.

Если GCHeapCount задано и GCNoAffinitize включено, сборщик мусора ограничивает количество процессоров, используемых для серверной сборки GC, но не аффинизируют кучи и процессоры GC.

Example

В следующем примере указывается, что приложение использует серверную сборку данных с 10 кучами и потоками. Так как вы не хотите, чтобы эти кучы перекрывались с кучами из других приложений, работающих в системе, используйте GCHeapAffinitizeMask этот процесс, чтобы указать, что процесс должен использовать ЦП 0 до 9.

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

В следующем примере потоки GC сервера не аффинизируются и не ограничиваются числом куч или потоков GC до 10.

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

См. также