<GCHeapCount> elemen

Menentukan jumlah tumpukan/utas yang akan digunakan untuk pengumpulan sampah server.

<Konfigurasi>
   <Runtime>
     <GCHeapCount>

Syntax

<GCHeapCount
   enabled="nn"/>

Atribut dan elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Attributes

Attribute Description
enabled Atribut yang diperlukan.

Menentukan jumlah tumpukan yang akan digunakan untuk pengumpulan sampah server. Jumlah timbunan aktual adalah minimum dari jumlah timbunan yang Anda tentukan dan jumlah prosesor yang diizinkan untuk digunakan.

atribut yang diaktifkan

Nilai Description
nn Jumlah timbunan yang digunakan untuk server GC.

Elemen turunan

Tidak ada.

Elemen induk

Elemen Description
configuration Elemen akar di setiap file konfigurasi yang digunakan oleh runtime dan aplikasi .NET Framework.
runtime Berisi informasi tentang pengikatan perakitan dan pengumpulan sampah.

Komentar

Secara default, utas GC server di-hard-afinitisasi dengan CPU masing-masing sehingga ada satu tumpukan GC, satu utas GC server, dan satu utas GC server latar belakang untuk setiap prosesor. Dimulai dengan .NET Framework 4.6.2, Anda dapat menggunakan GCHeapCount elemen untuk membatasi jumlah timbunan yang digunakan oleh aplikasi Anda untuk server GC. Membatasi jumlah timbunan yang digunakan untuk server GC sangat berguna untuk sistem yang menjalankan beberapa instans aplikasi server.

GCHeapCount biasanya digunakan bersama dengan dua bendera lainnya:

Jika GCHeapCount diatur dan GCNoAffinitize dinonaktifkan (pengaturan defaultnya), ada afinitas antara utas/timbunan GC nn dan prosesor nn pertama. Anda dapat menggunakan GCHeapAffinitizeMask elemen untuk menentukan prosesor mana yang digunakan oleh tumpukan GC server proses. Jika tidak, jika beberapa proses server berjalan pada sistem, penggunaan prosesor mereka akan tumpang tindih.

Jika GCHeapCount diatur dan GCNoAffinitize diaktifkan, pengumpul sampah membatasi jumlah prosesor yang digunakan untuk server GC tetapi tidak mendefinisikan tumpukan dan prosesor GC.

Example

Contoh berikut menunjukkan bahwa aplikasi menggunakan server GC dengan 10 heap/utas. Karena Anda tidak ingin tumpukan tersebut tumpang tindih dengan timbunan dari aplikasi lain yang berjalan pada sistem, Anda menggunakan GCHeapAffinitizeMask untuk menentukan bahwa proses harus menggunakan CPU 0 hingga 9.

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

Contoh berikut tidak mendefinisikan utas GC server dan membatasi jumlah tumpukan/utas GC hingga 10.

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

Lihat juga