<Elemento GCHeapCount>

Specifica il numero di heap/thread da usare per l'operazione di Garbage Collection del server.

<configurazione>
  <runtime>
    <GCHeapCount>

Sintassi

<GCHeapCount
   enabled="nn"/>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
enabled Attributo obbligatorio.

Specifica il numero di heap da usare per l'operazione di Garbage Collection del server. Il numero effettivo di heap è il numero minimo di heap specificati e il numero di processori che il processo può usare.

Attributo abilitato

Valore Descrizione
nn Numero di heap da usare per il server GC.

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 GCHeapCount per limitare il numero di heap usati dall'applicazione per il server GC. Limitare il numero di heap usati per il server GC è particolarmente utile per i sistemi che eseguono più istanze di un'applicazione server.

GCHeapCount viene in genere usato insieme ad altri due flag:

Se GCHeapCount è impostato e GCNoAffinitize è disabilitato (impostazione predefinita), esiste un'affinità tra i thread/heap NN e i primi processori nn . È possibile utilizzare l'elemento GCHeapAffinitizeMask per specificare quali processori vengono utilizzati dagli heap del server del processo. In caso contrario, se più processi server sono in esecuzione in un sistema, l'utilizzo del processore si sovrapporrà.

Se GCHeapCount è impostato e GCNoAffinitize è abilitato, il Garbage Collector limita il numero di processori usati per il server GC ma non affinizza gli heap e i processori GC.

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>

L'esempio seguente non affinizza i thread GC del server e limita il numero di heap/thread GC a 10.

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

Vedi anche