Share via


COM+ 低記憶體啟用閘道概念

一般而言,當您有單個線程 Apartment (STA) 時,不需要同步處理,因為 Apartment 會為您提供同步處理。 當您擁有多線程 Apartment (MTA) 和自由線程物件時,同步處理會變得很重要。 在過去,自由線程對象必須處理鎖定。 您可以藉由設定元件的同步處理屬性來消除使用鎖定的需求。

當伺服器的資源無法有效率地回應尖峰負載時,通常會發生可靠性問題。 當伺服器沒有足夠的實體資源來滿足尖峰需求時,可能會耗盡虛擬記憶體。 如果使用者程式代碼或系統程式代碼未正確處理記憶體配置失敗,就會成為問題。 伺服器會開始變慢速度,而且記憶體耗盡時,記憶體配置會失敗。 伺服器會執行錯誤路徑來處理配置失敗。 如果錯誤路徑包含伺服器上執行之系統或用戶程式代碼中的錯誤,則很難安全地設陷和處理。

COM+ 嘗試防止必須在伺服器上執行這些錯誤路徑的情況。 透過低記憶體啟用閘道功能,COM+ 會主動監視系統中的記憶體負載,並確保在執行使用者程式代碼之前可以使用合理的記憶體數量。 如果應用程式可用的虛擬記憶體百分比低於固定閾值,啟用會在建立 COM+ 伺服器應用程式或物件之前失敗(如下圖所示)。 透過失敗通常執行的這些啟用,低記憶體啟用閘道功能可將與使用者程式代碼中記憶體配置相關的問題降到最低,這可大幅提升系統可靠性。

Diagram that shows the relationship between a COM+ application and a low-memory activation gate.

低記憶體啟用閘道功能僅適用於 COM+ 應用程式中安裝的已設定 COM 元件。

低記憶體啟用閘道功能的運作方式

低記憶體啟用閘道功能會根據啟用類型使用不同的固定閾值等級。 建立 COM+ 伺服器應用程式時,如果有超過 10% 的虛擬記憶體可用,COM+ 允許啟用。 如果可用的小於 10%,COM+ 會進行測試配置,以找出分頁檔案是否可以擴充以容納新的記憶體負載。 如果分頁檔案展開,就會建立伺服器應用程式。 如果無法展開分頁檔案,啟用會失敗,而且未配置記憶體。

建立物件時,此程式很類似。 在此情況下,如果有超過 5% 的虛擬記憶體可用,COM+ 允許啟用。 如果可用不到 5%, COM+ 會繼續進行測試配置。 同樣地,如果測試配置展開分頁檔案,就會建立 物件。 如果沒有,啟用會失敗。

目前無法設定低記憶體啟用閘道的固定閾值層級。 基於這個理由,沒有與這項功能相關聯的工作。