一般而言,資源代表可連結程序的作業系統實體,亦經常被視為由提供某種分割形式之核心子系統所建構的物件。資源也可被視為可用來影響應用程式運作方式的一種運算系統觀念。資源範例包括實體記憶體、CPU 或網路頻寬。
在 Solaris 8、Solaris 9 和 Solaris 10 發行版本中,Container Manager 是與資源管理公用程式搭配使用。在 Solaris 8 發行版本中,資源管理是由 Solaris Resource Manager 1.3 所提供。每個服務都由一個 lnode 表示。lnode 是用來記錄資源分配策略和累積的資源使用量資料。lnodes 對應於 UNIX 使用者 ID (UID)。UID 可代表預設的個別使用者和應用程式。如需關於 lnodes 和資源管理的更多資訊,請參閱「Solaris Resource Manager 1.3 System Administration Guide」的「Limit Node Overview」。
在 Solaris 9 和 Solaris 10 發行版本中,資源管理是由資源管理員 (Resource Manager) 所提供。在此發行版本中,專案和 lnode 相似。專案會提供相關工作的整個網路之管理識別碼。在容器執行的所有程序都具有相同的專案識別碼,亦稱為專案 ID。Solaris 核心會透過專案 ID 來追蹤資源使用量。之前的資料可藉由使用延伸統計功能來收集,該功能使用相同的追蹤方法。在 Container Manager 中,專案即代表容器。
關於在容器執行的程序資訊可從 Container Manager GUI 取得。在使用此軟體建立和管理容器時,您可以清楚看見資料的收集。
您可使用不同的方法來建立容器界限。一個方法是使用資源儲存池來分割系統。另一個方法是藉由資源控制在專案上建立限制。
資源儲存池或池是一種 Solaris 9 和 Solaris 10 軟體的配置機制,可用來分割主機資源。資源組是一種可連結程序的資源。資源組的範例包括記憶體組和處理器組。目前只有處理器組才能在 Solaris 9 和 Solaris 10 發行版本使用。池結合了主機上可用的各種資源組。
資源儲存池可以保有一個或數個專案。若有一個專案,連結到池的資源會用於該專案。若有多個專案,連結到池的資源會讓專案共用。
在 Solaris 10 作業系統上,此產品有一個名為動態資源儲存池的功能。動態資源儲存池可藉由讓您依系統事件和載入變更來調整每個池的資源分配,以協助您取得較佳效能。此功能在動態資源區中有詳細說明。
在 Solaris 8 作業系統上執行時,一個主機只能有一個資源儲存池。此池即稱為 pool_default。因為資源儲存池在此作業系統版本中不存在,所以會人為建立 pool_default 。按照慣例,在執行 Solaris 8 發行版本之主機上的所有 CPU 會被視為位於單一儲存池中。
如需關於使用 Container Manager 管理資源儲存池的資訊,請參閱第 5 章, 管理資源儲存池。
若將數個專案與單一儲存池連結,您可以在一個專案上設定保證或限制。這些限制就稱為資源控制。一個控制範例為在使用公平共用排程程式 (FSS) 時,設定最小 CPU 限制。另一個範例則為在使用 rcapd 常駐程式時設定實體記憶體容量。在設定最小 CPU 保證時,某專案中的閒置 CPU 循環可讓其他專案中的應用程式來使用。