Solaris Resource Manager 1.3 系統管理指南

監視資源運算常駐程式

rcapstat 指令可用來發出由 rcapd 運算之 lnodes 或專案的報告。您可以經常設定取樣間隔以及指定報告。

間隔

以秒指定取樣間隔。預設間隔為 5秒。

計數

指定統計資料重複的次數。在預設情況下,rcapstat 會報告統計資料直到收到終止訊號,或者直到 rcapd 處理結束為止。

rcapstat 發出之第一份報告中的記憶體分頁統計資料,顯示自從啟動常駐程式後的活動。接續的報告將反映自發送上一個報告後的活動。

下列清單定義 rcapstat 報告中的欄位標題。

id

處理集合的 lnode ID 或附加到專案之處理的專案 ID。

lnode/專案

集合 ID 類型,它們是 專案lnode

nproc

集合中的處理數量。

vm

處理集合的總虛擬記憶體大小,包括所有的映射檔案與裝置,以千位元組 (K)、百萬位元組 (M),或十億位元組 (G)計算。

rss

處理集合的總常駐設定大小 (RSS),以千位元組 (K)、百萬位元組 (M),或十億位元組 (G)計算,不包括共享的物件。

cap

為專案或 lnode 定義的 RSS 運算。如需關於如何指定記憶體運算的資訊,請參閱 rcapd(1MSRM)。

at

自上次取樣 rcapstat 後,rcapd 嘗試出頁的記憶體總計。

avgat

自上次取樣 rcapstat 後,發生每個取樣週期過程中,rcapd 嘗試出頁的記憶體平均數量。rcapd 取樣集合 RSS 的速率,可以使用 rcapadm(1MSRM) 設定 。

pg

自上次取樣 rcapstat 後,rcapd 成功出頁的記憶體總計。rcapd 會將最少用的記憶體頁進行出頁。

avgpg

自上次取樣 rcapstat 後,發生每個取樣週期過程中,rcapd 成功出頁的估計記憶體平均數量。rcapd 取樣處理 RSS 大小的速率,可以使用 rcapadm 設定 。

使用 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 欄位可能會穩定下來以顯示專案工作設定大小,如此例所示。這是一個最小運算值,它可以允許專案中的處理不會在不斷受到記憶體分頁錯誤的情況下執行操作。

報告全域記憶體運算

您可以使用 rcapstat 的-g 選項報告下列資訊: