Kernel 有某些 Solaris Resource Manager 參數,可由中央管理員在 kernel 開機時加以設定。Solaris 會在開機時讀取 /etc/system 檔,並且使用它來設置 kernel 模組(請參見 system(4) 中的詳細說明)。可以在 SHR 模組(全部都是32-位元整數)中設定以取代 Solaris Resource Manager 預設行為的參數如下:
要在 kernel 中快取的 lnode 數。在 Solaris 系統中,每個 kernel lnode 需要大約 3Kb。零值(預設)表示 kernel 會自行決定其數值。所用試探法如下:
(nproc / SRMProcsPerUid ) + SRMLnodesExtra |
其中 nproc 是能在系統中同時進行的最大處理數。最小值 6 可以取代這個計算。而由 SRMMemoryMax 所指定的最大值也可以取代這個計算。
每位使用者所使用的預定平均處理數。預設為 4。
試探法中所用的偏差值以決定記憶體內 lnode 陣列的大小。預設為 20。
用來將 UID 數值對映至 kernel 中 lnode 的散列表登錄數目。在 Solaris 之上,每個登錄都是 4 個位元組長。預設為零,表示要使用與 lnode 數相同的數值。
此數值的倒數是一個分數,可以指定 Solaris Resource Manager lnode 以及散列表一起使用的最大真正記憶體百分比。預設為 20,表示最多百分之 5 的真正記憶體會用於 Solaris Resource Manager 的資料結構。
警告單一 lnode 〝記憶體超過〞通知的最小時間間隔,以秒為單位。預設值為 4。
舉例來說,在 /etc/system 檔案中,此行
set srmlim:SRMMemWarnFreq=10 |
會確保不超過每 10 秒鐘將超出記憶體的訊息遞送給任何一位使用者。
也有某些不在 Solaris Resource Manager 中的參數,會影響它的行為。其中包括:
就是 init(1M) 處理所啟動的排程類別名稱。在 Solaris Resource Manager 之下,應提供字串 'SHR' (包括雙引號字元)。預設 Solaris 值為 'TS'。要使用 Solaris Resource Manager 來控制 CPU 資源,下一行字應包括在 /etc/system 檔中:
set initclass='SHR' |
以取代預設值。
這是一個可載入的排程類別模組名稱,不一定要用它來作為預設的排程類別。要僅以非 CPU 資源控制來使用 Solaris 資源管理,下一行字應包括在 /etc/system 檔中:
set extraclass='SHR' |
要在系統開機時不載入 Solaris Resource Manager,請改用一個名為 /etc/system.noshrload 的檔案代用 /etc/system。請參見不以 Solaris Resource Manager 開機 中有關此處理的指示說明。
在一般的系統開機時,當系統由單一使用者模式變更為多重使用者,會執行一個 Solaris Resource Manager 初始指令集(請參見附錄 A, Solaris Resource Manager 程式碼範例)以設定各種 Solaris Resource Manager 參數。第 4章, 開機程序中有此種程序檔功能的詳細說明。
如果初始化程序檔本身 (/etc/init.d/init.srm)被修改,應將原始和修改過的版本分別存放。應用 Solaris Resource Manager 更新不能確保可以保存現有的初始化程序檔。