<Элемент GCHeapAffinitizeMask>
Определяет сходство между кучами сборки мусора и отдельными процессорами.
<configuration>
<среда выполнения>
<GCHeapAffinitizeMask>
Синтаксис
<GCHeapAffinitizeMask
enabled="nnnn"/>
Элементы и атрибуты
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
enabled |
Обязательный атрибут. Указывает сходство между кучами сборки мусора и отдельными процессорами. |
атрибут enabled
Значение | Описание |
---|---|
nnnn |
Десятичное значение, образующее битовую маску, определяющую сходство между кучами сборки мусора сервера и отдельными процессорами. |
Дочерние элементы
Отсутствует.
Родительские элементы
Элемент | Описание |
---|---|
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework. |
runtime |
Содержит сведения о привязке сборок и сборке мусора. |
Комментарии
По умолчанию потоки сборки мусора сервера жестко сопоставлены с соответствующим ЦП, чтобы для каждого процессора существовала одна куча сборки мусора, один поток сборки мусора сервера и один фоновый поток сборки мусора сервера. Начиная с платформа .NET Framework 4.6.2, элемент GCHeapAffinitizeMask можно использовать для управления сходством между кучами сборки мусора сервера и процессорами, когда количество кучи ограничено элементом GCHeapCount.
GCHeapAffinitizeMask обычно используется вместе с двумя другими флагами:
GCNoAffinitize, который управляет сопоставлением потоков и кучи сборки мусора сервера с ЦП. Атрибут
enabled
элемента GCNoAffinitize должен иметьfalse
значение (значение по умолчанию) для использования параметра GCHeapAffinitizeMask .GCHeapCount, который ограничивает количество кучи, используемых процессом для сборки мусора сервера. По умолчанию для каждого процессора существует одна куча.
nnnn — это битовая маска, выраженная в виде десятичного значения. Бит 0 из байта 0 представляет процессор 0, бит 1 из байта 0 — процессор 1 и т. д. Пример:
<GCHeapAffinitizeMask enabled="1023"/>
Значение 1023 — 0x3FF или 0011 1111 111b. Процесс использует 10 процессоров, от процессора 0 до процессора 9.
Пример
В следующем примере показано, что приложение использует серверную сборку мусора с 10 кучами и потоками. Так как вы не хотите, чтобы эти кучи перекрывались с кучами из других приложений, работающих в системе, используйте GCHeapAffinitizeMask , чтобы указать, что процесс должен использовать процессоры от 0 до 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>