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