Solaris Resource Manager 1.3 系統管理指南

透過 srmadm 的全域 Solaris Resource Manager 參數

srmadm 指令可讓一位管理員設定、修正或顯示全域 Solaris Resource Manager 參數。請參見 srmadm(1MSRM) 線上援助頁有關所有參數的詳細說明。

srmadm 指令呼叫次數沒有限制去設定變數參數。沒有必要將它們全部包括在單一引動中。這也表示 srmadm 可被用來瞬間變更一個執行中 Solaris Resource Manager 系統的操作參數,只不過在進行變更時要特別小心。

管理員要特別注意的是可以啟動或關閉 Solaris Resource Manager 主要功能的 srmadm 選項。這些選項是:

fileopen[={y|n}]

預設的資料庫為 /var/srm/srmDB;而它可以利用 -f 選項加以取代。請注意在操作中關閉 Solaris Resource Manager 資料庫檔應被視為一種緊急動作。它可能會產生幾種不良的後果:所有處理會繼續在可能享有比較多特權的代理 root lnode 之上執行;SHR 排程器被關閉;Solaris Resource Manager 停止實施限制。啟動時,Solaris Resource Manager 目前沒有開啟任何限制資料庫,而且其快取記憶體只包含附加了全部處理的代理 root lnode。

share[={y|n}]

啟動此選項時,會使用 Solaris Resource Manager SHR 排程器,而且根據 Solaris Resource Manager 的動態使用及演算法來排程 SHR 的資源。除非啟動 fileopen 模式,否則無法設定此模式。關閉時,SHR 排程器的使用計算會被凍結,而程序有固定的相等優先順序 "round-robin" 輪流排程。

limits[={y|n}]

啟動此選項時,Solaris Resource Manager 會強制採行虛擬記憶體及處理的限制。除非啟動 fileopen 模式,否則無法設定此模式。關閉時,Solaris Resource Manager 會一直更新使用屬性,但不會強制實施限制。

adjgroups[={y|n}]

啟動此選項時,會採用 Solaris Resource Manager SHR 排程器的全域群組有效配分調整。建議您在大多數時間選擇啟動的狀態。在每個執行間隔,所有限制登錄的一般化使用率都會重新計算。如果啟動了 adjgroups 排程模式,那麼執行一般化使用的額外處理方式如下。排程器將排程樹掃描一遍,比較每個群組最近接收的有效配分是否符合其權利。接收到比其群組權利還要少的群組在下一個執行間隔會優先接收較大的有效配分。這樣便可確保群組儘可能接收到其 CPU 服務的權利,無論其成員的行動為何。

limshare[={y|n}]

啟動此選項時,SHR 排程器應用其優先順序上限功能來限制所有使用者的有效配分,以防止使用量超低的使用者暫時取得幾乎百分之百的 CPU。因此建議您使用啟動的狀態。

一位使用者的 CPU 服務比例大約與使用者的使用量成比例。如果使用者經過很長一段時間沒有活動,那麼他們的使用會消減為接近零。那麼當這類使用者登入時(或是 lnode 以任何方式開始作用),在下一次執行間隔的期間,使用者的處理優先順序可能會提高到幾乎獨佔 CPU。

啟動 limshare 排程旗標會促使排程器評估 lnode 在下一個執行間隔之前接收的有效配分。如果結果超過使用者被指派的權利數倍(請參見 maxushare),那麼使用者的一般化使用會被重新調整以防止這個問題。

srmadm 有兩種選擇性的參數,對管理員而言也很有用。它們是:

下列為典型的 srmadm 指令實例。

要開啟 Solaris Resource Manager,請啟動 SHR 排程器以及資源限制:

# srmadm set -f /var/srm/srmDB fileopen=y:share=y:limits=y 

要將 CPU 使用量消減率設定為 5 分鐘的半減期:

# srmadm set usagedecay=300s 

要顯示目前的旗標設定值及應付款項:

% srmadm 

要顯示所有預設的設定值:

% srmadm show-dv 

關閉 Solaris Resource Manager

srmadm(1MSRM) 指令可以透過清除 fileopen 旗標,關閉 Solaris Resource Manager:所有處理會被移至代理 root lnode 之上,快取記憶體中其他變更的 lnode 會被保存至磁碟中,而 lnode 檔會關閉。這會自動迫使配分限制旗標關閉,分別使 SHR 排程器以及限制的實施失效。如果在保持 lnode 檔開啟時做出要求,配分限制旗標可以個別關閉。這種關閉檔案的方法比較理想,因為可以確保處理附加在其正確的 lnode 上。

請注意如果在操作中只關閉 Solaris Resource Manager 排程器,只能暫停使用量及消減演算法。排程器仍舊繼續在 SHR 排程類別中進行各項處理,但是因為每個處理已被賦予更新過的優先順序,因此使用相同的數值會造成簡單的"輪流"排程。

開啟檔案以重新啟用 Solaris Resource Manager,並且在檔案關閉之後設定配分及/或限制旗標,無法使現有的處理由 root lnode上移開。因此不建議您在一般操作當中關閉 Solaris Resource Manager 資料庫。如果您已這麼做,系統應該重新開機以確保處理被附加至正確的 lnode 之上。