rcapstat 指令可用來發出由 rcapd 運算之 lnodes 或專案的報告。您可以經常設定取樣間隔以及指定報告。
以秒指定取樣間隔。預設間隔為 5秒。
指定統計資料重複的次數。在預設情況下,rcapstat 會報告統計資料直到收到終止訊號,或者直到 rcapd 處理結束為止。
由 rcapstat 發出之第一份報告中的記憶體分頁統計資料,顯示自從啟動常駐程式後的活動。接續的報告將反映自發送上一個報告後的活動。
下列清單定義 rcapstat 報告中的欄位標題。
處理集合的 lnode ID 或附加到專案之處理的專案 ID。
集合 ID 類型,它們是 專案 或 lnode。
集合中的處理數量。
處理集合的總虛擬記憶體大小,包括所有的映射檔案與裝置,以千位元組 (K)、百萬位元組 (M),或十億位元組 (G)計算。
處理集合的總常駐設定大小 (RSS),以千位元組 (K)、百萬位元組 (M),或十億位元組 (G)計算,不包括共享的物件。
為專案或 lnode 定義的 RSS 運算。如需關於如何指定記憶體運算的資訊,請參閱 rcapd(1MSRM)。
自上次取樣 rcapstat 後,rcapd 嘗試出頁的記憶體總計。
自上次取樣 rcapstat 後,發生每個取樣週期過程中,rcapd 嘗試出頁的記憶體平均數量。rcapd 取樣集合 RSS 的速率,可以使用 rcapadm(1MSRM) 設定 。
自上次取樣 rcapstat 後,rcapd 成功出頁的記憶體總計。rcapd 會將最少用的記憶體頁進行出頁。
自上次取樣 rcapstat 後,發生每個取樣週期過程中,rcapd 成功出頁的估計記憶體平均數量。rcapd 取樣處理 RSS 大小的速率,可以使用 rcapadm 設定 。
本章節的範例為您顯示如何使用 rcapstat ,監視具備已定義實體記憶體運算之處理集合的資源用量。
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 後的記憶體分頁統計資料。at 及 pg 欄位是用於 user1 之大於零的數字,以及用於 user2 的零數值,它們標示在常駐程式的歷程記錄中,有某一個時段 user1 超過其運算,而 user2 則沒有。
接續的報告包含自優先間隔後的記憶體分頁統計資料,但不會顯示重要的活動。
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 百萬位元組出頁來做出反應。目標將會達到;因為超出的只是個小數目。
下列指令以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 選項報告下列資訊:
由 rcapadm(1MSRM 設定的全域記憶體用量運算)
將目前記憶體用量作為安裝在系統上之所有實體記憶體的百分比。