共用方式為


<GCHeapCount> 元素

指定伺服器垃圾回收所需的堆積/執行緒數量。

<配置>
   <運行時間>
     <GCHeapCount>

語法

<GCHeapCount
   enabled="nn"/>

屬性和元素

下列章節說明屬性、子元素和父元素。

Attributes

Attribute Description
enabled 必要屬性。

指定用於伺服器垃圾回收的堆積數量。 實際堆積數是你指定的堆數與程序允許使用的處理器數量的最小值。

啟用屬性

價值觀 Description
nn 伺服器 GC 需要使用的堆積數量。

子專案

沒有。

父元素

元素 Description
configuration 通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。
runtime 包含關於組裝裝訂與垃圾回收的資訊。

備註

預設情況下,伺服器 GC 執行緒與各自的 CPU 硬連結,因此每個處理器有一個 GC 堆積、一個伺服器 GC 執行緒,以及一個背景伺服器 GC 執行緒。 從 .NET Framework 4.6.2 開始,你可以用這個 GCHeapCount 元素限制應用程式在伺服器 GC 中使用的堆數。 限制伺服器 GC 所用堆積數量對於執行多個伺服器應用程式實例的系統特別有用。

GCHeapCount 通常與另外兩個旗標一起使用:

如果 GCHeapCount 被設定 GCNoAffinitize 且被禁用(其預設設定),則 nn 的 GC 執行緒/堆積與最初的 nn 處理器之間存在親和力。 你可以用這個 GCHeapAffinitizeMask 元素來指定程序伺服器 GC 堆積使用的處理器。 否則,如果系統上同時運行多個伺服器程序,它們的處理器使用率會重疊。

GCHeapCount 設定 且 GCNoAffinitize 啟用,垃圾回收器會限制伺服器 GC 使用的處理器數量,但不會親屬化 GC 堆積與處理器。

Example

以下範例顯示應用程式使用 10 個堆積/執行緒的伺服器 GC。 因為你不希望這些堆積與系統上其他應用程式的堆疊,你用 來 GCHeapAffinitizeMask 指定程序應該使用 CPU 0 到 9。

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

以下範例未將伺服器 GC 執行緒固定,並限制 GC 堆積/執行緒數量為 10 個。

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

另請參閱