srmadm(1MSRM) 指令可讓一位管理員設定、修正或顯示全域 Solaris Resource Manager 參數。請參閱線上援助頁有關所有參數的詳細說明。
用來設定各種參數的srmadm(1MSRM) 指令呼叫次數沒有限制,也沒有必要將它們全部包括在單一引動中。這也表示srmadm(1MSRM) 可被用來瞬間變更一個執行中 Solaris Resource Manager 系統的操作參數,只不過在進行變更時要特別小心。
管理員要特別注意的是可以啟動或關閉 Solaris Resource Manager 主要功能的 srmadm(1MSRM) 選項。這些選項是﹕
fileopen[={y|n}]
內定的資料庫為 /var/srm/srmDB,而它可以利用 -f 選項加以取代。請注意在操作中關閉 Solaris Resource Manager 資料庫檔應被視為一種緊急動作。它可能會產生幾種不良的後果﹕所有處理會繼續在可能享有比較多特權的代理 root lnode 之上執行;CPU 排程器被關閉;Solaris Resource Manager 停止實施限制。啟動時,Solaris Resource Manager 目前沒有開啟任何限制資料庫,而且其快取記憶體只包含附加了全部處理的代理 root lnode。
share[={y|n}]
啟動此選項時,會使用 Solaris Resource Manager CPU 排程器,而且根據 Solaris Resource Manager 的動態使用及)演算法來排程 CPU 的資源。除非啟動 fileopen 模式,否則無法設定此模式。關閉時,Solaris Resource Manager CPU排程器的使用計算會被凍結,而處理)固定的相等優先順序輪流排程。
limits[={y|n}]
啟動此選項時,Solaris Resource Manager 會強制採行虛擬記憶體及處理的限制。除非啟動 fileopen 模式,否則無法設定此模式。關閉時,Solaris Resource Manager 會一直更新使用屬性,但不會強制實施限制。
adjgroups[={y|n}]
啟動此選項時,會採用 Solaris Resource Manager CPU 排程器的全域群組有效配分調整。建議您在大多數時間選擇啟動的狀態。在每個執行間隔,所有限制登錄的一般化使用都會重新計算。如果啟動了 adjgroups 排程模式,那麼執行一般化使用的額外處理方式如下。排程器將排程樹掃描一遍,比較每個群組最近接收的有效配分是否符合其權利。接收到比其群組權利還要少的群組在下一個執行間隔會優先接收較大的有效配分。這樣便可確保群組儘可能接收到其 CPU 服務的權利,無論其成員的行動為何。
limshare[={y|n}]
啟動此選項時,Solaris Resource Manager CPU 排程器應用其優先順序上限功能來限制所有使用者的有效配分,以防止使用量超低的使用者暫時取得幾乎百分之百的 CPU。因此建議您使用啟動的狀態。
一位使用者的 CPU 服務比例大約與使用者的使用量成比例。如果使用者經過很長一段時間沒有活動,那麼他們的使用會消減為接近零。那麼當這類使用者登入時(或是 lnode 以任何方式開始作用),在下一次執行間隔的期間,使用者的處理優先順序可能會提高到幾乎獨佔 CPU。
啟動 limshare 排程旗標會促使排程器評估 lnode 在下一個執行間隔之前接收的有效配分。如果結果超過使用者被指派的權利數倍(請參閱 maxushare),那麼使用者的一般化使用會被重新調整以防止這個問題。
srmadm(1MSRM) 有兩種選擇性的參數,對管理員而言也很有用。它們是﹕
-v 參數。這會依照標準輸出模式來列印目前所有參數設定值的一份格式化報告。如果提供了兩或三個-v 選項,那麼報告就愈來愈詳盡。引動沒有引數的 srmadm(1MSRM) 就等於提供一個單一的 -v 選項。
-d 參數。這會以內定值來初始 Solaris Resource Manager 系統結構,而不是讀取目前的 kernel 設定值。控制排程行為的內定值會被建構入 srmadm(1MSRM) 當中,並且提供一個自訂 Solaris Resource Manager 的良好起始點。kernel 是以相同的內定值開始。
下列為典型的 srmadm(1MSRM) 指令實例。
要開啟 Solaris Resource Manager,請啟動 CPU 排程器以及資源限制﹕
# srmadm set -f /var/srm/srmDB fileopen=y:share=y:limits=y |
要將 CPU 使用量消減率設定為 5 分鐘的半減期﹕
# srmadm set usagedecay=300s |
要顯示目前的旗標設定值及應付款項﹕
% srmadm |
要顯示所有內定的設定值﹕
% srmadm show -dv |