共用方式為


<gcServer> 元素

指定通用語言執行時是否執行伺服器垃圾回收。

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

語法

<gcServer
   enabled="true|false"/>

屬性和元素

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

Attributes

Attribute Description
enabled 必要屬性。

指定執行時是否執行伺服器垃圾回收。

啟用屬性

價值觀 Description
false 不會執行伺服器垃圾回收。 這是預設值。
true 執行伺服器垃圾回收。

子專案

沒有。

父元素

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

備註

通用語言執行時(CLR)支援兩種類型的垃圾回收:工作站垃圾回收,適用於所有系統,以及伺服器垃圾回收,適用於多處理器系統。 利用該 gcServer 元素來控制 CLR 執行的垃圾回收類型。 使用該 GCSettings.IsServerGC 屬性來判斷伺服器垃圾回收是否已啟用。

對於單處理器電腦,預設的工作站垃圾回收應該是最快的選擇。 雙處理器電腦可使用工作站或伺服器。 伺服器垃圾回收應該是超過兩台處理器最快的選擇。 最常見的是,當多個伺服器應用程式在同一台機器上執行時,多處理器伺服器系統會停用伺服器 GC,改用工作站 GC。

此元素只能用於應用程式設定檔;如果它在機器設定檔中,則會被忽略。

備註

在 .NET Framework 4 及更早版本中,啟用伺服器垃圾回收時,無法同時進行垃圾回收。 從 .NET Framework 4.5 開始,伺服器垃圾回收是並行的。 若要使用非並行伺服器垃圾回收,將元素truegcServer為 ,gcConcurrent 元素設為 false

從 .NET Framework 4.6.2 開始,你也可以使用以下元素來配置伺服器 GC:

  • GCNoAffinitize,該指令指定伺服器 GC 堆積與處理器之間是否存在親和力。 預設情況下,每個處理器有一個伺服器 GC 堆積。

  • GCHeapCount,限制程序使用的堆積數量。

  • GCHeapAffinitizeMask,定義可用伺服器 GC 堆積與個別處理器之間的親和力。

Example

以下範例可啟用伺服器垃圾回收:

<configuration>
   <runtime>
      <gcServer enabled="true"/>
   </runtime>
</configuration>

另請參閱