Solaris Resource Manager 1.3 系統管理指南

使用 rcapstat 製作報告

本章節的範例為您顯示如何使用 rcapstat ,監視具備已定義實體記憶體運算之處理集合的資源用量。

使用 rcapstat 報告 Cap 及 Lnode 資訊。

Caps(運算)為與兩位使用者相關的兩個 lnodes 定義。user1 具有 50 百萬位元組的運算,而 user2 具有 10 百萬位元組的運算。

下列指令以5 秒的取樣間隔製作報告。報告會發送五次,每一次取樣後一次。


usermachine% rcapstat 5 5
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M   50M    0K 3312K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K

輸出的首三行組成第一個報告,其中包含兩個 lnode 的運算與 lnode 資訊,以及自從啟動 rcapd 後的記憶體分頁統計資料。atpg 欄位是用於 user1 之大於零的數字,以及用於 user2 的零數值,它們標示在常駐程式的歷程記錄中,有某一個時段 user1 超過其運算,而 user2 則沒有。

接續的報告包含自優先間隔後的記憶體分頁統計資料,但不會顯示重要的活動。

降低 Lnode 的運算

limadm(1MSRM) 指令可以用來降低 lnode 的記憶體運算,使運算更具備限制作用。rcapd 會在下一個設置間隔後強制執行新的運算(請參閱 rcapadm(1MSRM))。也可以傳送訊號,這將使 rcapd 立即強制執行新的運算。


admin# limadm set rss.limit=30M user1
admin# pkill -HUP rcapd

下列指令以5 秒的取樣間隔製作報告。報告會發送五次,每一次取樣後一次。


admin# rcapstat 5 5
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   30M   50M    0K 3312K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   36M   30M   52M   52M  632K  632K
 78194 user2       1 2368K 2096K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   33M   30M   57M   52M  816K  632K
 78194 user2       1 2368K 1968K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   27M   30M 4792K 4792K   40K   40K
 78194 user2       1 2368K 1144K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   27M   30M    0K    0K    0K    0K
 78194 user2       1 2368K 1144K   10M    0K    0K    0K    0K

當運算從 50 百萬位元組降到 30 百萬位元組時,rcapd 會透過嘗試將運算值以上的 6 百萬位元組出頁來做出反應。目標將會達到;因為超出的只是個小數目。

使用 rcapstat 監視專案的 RSS

下列指令以5 秒的取樣間隔製作報告。報告會發送五次,每一次取樣後一次。


user1machine% rcapstat 5 5

id     project   nproc    vm   rss   cap    at avgat    pg avgpg
376565 user1        57  209M   46M   10M  440M  220M 5528K 2764K
376565 user1        57  209M   44M   10M  394M  131M 4912K 1637K
376565 user1        56  207M   43M   10M  440M  147M 6048K 2016K
376565 user1        56  207M   42M   10M  522M  174M 4368K 1456K
376565 user1        56  207M   44M   10M  482M  161M 3376K 1125K

在此範例中,專案 user1 具有超出其實體記憶體運算的 RSS。pg 欄位中的非零數值,標示 rcapd 透過降低專案之處理的實體記憶體用量以嘗試符合運算時,一貫地將記憶體出頁。然而,從變動的 rss 值未顯示相應的降低,標示 rcapd 並未成功。這意味著應用程式的常駐記憶體正被活躍地使用,促使 rcapd 影響工作設定。在此情況下,系統將繼續遇到高記憶體分頁錯誤率以及相關的 I/O,直到工作設定大小減少後,運算才會提高,或者應用程式變更其記憶體存取樣式。

決定專案的工作設定大小

下例是前例的繼續,且它使用相同的專案。


example% rcapstat 5 5
    id project    nproc    vm   rss   cap    at avgat    pg avgpg
376565 user1         56  207M   44M   10M  381M  191M   15M 7924K
376565 user1         56  207M   46M   10M  479M  160M 2696K  898K
376565 user1         56  207M   46M   10M  424M  141M 7280K 2426K
376565 user1         56  207M   43M   10M  401M  201M 4808K 2404K
376565 user1         56  207M   43M   10M  456M  152M 4800K 1600K
376565 user1         56  207M   44M   10M  486M  162M 4064K 1354K
376565 user1         56  207M   52M  100M  191M   95M 1944K  972K
376565 user1         56  207M   55M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K

透過提高專案的運算或透過變更最小運算記憶體強制值(請參閱 rcapadm(1MSRM)),來約束運算的執行,從而使常駐設定可以成為工作設定。 rss 欄位可能會穩定下來以顯示專案工作設定大小,如此例所示。這是一個最小運算值,它可以允許專案中的處理不會在不斷受到記憶體分頁錯誤的情況下執行操作。