<Elemento GCHeapAffinitizeMask>
Definisce l'affinità tra heap GC e singoli processori.
<configurazione>
<runtime>
<GCHeapAffinitizeMask>
Sintassi
<GCHeapAffinitizeMask
enabled="nnnn"/>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Attributo | Descrizione |
---|---|
enabled |
Attributo obbligatorio. Specifica l'affinità tra heap GC e singoli processori. |
Attributo abilitato
Valore | Descrizione |
---|---|
nnnn |
Valore decimale che forma una maschera di bit che definisce l'affinità tra heap del server GC e singoli processori. |
Elementi figlio
Nessuno.
Elementi padre
Elemento | Descrizione |
---|---|
configuration |
Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework. |
runtime |
Contiene informazioni sull'associazione degli assembly e sull'operazione di Garbage Collection. |
Commenti
Per impostazione predefinita, i thread GC del server sono affini con la rispettiva CPU in modo che sia presente un heap GC, un thread GC del server e un thread GC del server in background per ogni processore. A partire da .NET Framework 4.6.2, è possibile usare l'elemento GCHeapAffinitizeMask per controllare l'affinità tra heap server GC e processori quando il numero di heap è limitato dall'elemento GCHeapCount .
GCHeapAffinitizeMask viene in genere usato insieme ad altri due flag:
GCNoAffinitize, che controlla se i thread/heap del server sono affini con le CPU. L'attributo
enabled
dell'elemento GCNoAffinitize deve esserefalse
(valore predefinito) per l'impostazione GCHeapAffinitizeMask da utilizzare.GCHeapCount, che limita il numero di heap utilizzati dal processo per il server GC. Per impostazione predefinita, è presente un heap per ogni processore.
nnnn è una maschera di bit espressa come valore decimale. Bit 0 di byte 0 rappresenta il processore 0, bit 1 di byte 0 rappresenta il processore 1 e così via. Ad esempio:
<GCHeapAffinitizeMask enabled="1023"/>
Il valore 1023 è 0x3FF o 0011 1111 1111b. Il processo usa 10 processori, dal processore 0 al processore 9.
Esempio
L'esempio seguente indica che un'applicazione usa il server GC con 10 heap/thread. Poiché non si vuole che tali heap si sovrappongano agli heap di altre applicazioni in esecuzione nel sistema, usare GCHeapAffinitizeMask per specificare che il processo deve usare CPU da 0 a 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>