rcapstat - リソース上限適用デーモンの統計の報告
rcapstat [-p | -z] [-T u | d ] [interval [count]]
rcapstat コマンドは、rcapd(1M) によって上限が設けられたゾーンまたはプロジェクトについて報告します。各報告には、プロジェクトまたはゾーンに関する統計、およびページング統計が含まれています。ページングとは、物理メモリーから (または物理メモリーへ) ページと呼ばれるメモリーの一部を再配置する処理を指します。rcapd は、もっとも使用されていないページをページアウトします。
最初に発行する報告では、ページング統計はデーモンの起動以降の活動を示します。以後の報告では、前回の報告以降の活動を示します。
報告は、interval 秒ごとに count によって指定されている回数まで発行されます。count が指定されていない場合は、停止されることなく発行され続けます。
サポートしているオプションは、次のとおりです。
上限が設けられたプロジェクトの統計を報告します。これは、オプションが指定されていない場合のデフォルトです。
タイムスタンプを表示します。
時間の内部表現の出力表現に u を指定します。time(2) を参照してください。 標準の日付フォーマットに d を指定します。date(1) を参照してください。
上限が設けられたゾーンの統計を報告します。
rcapstat の報告の列見出しの定義、および報告の解釈方法についての情報を、次のリストに示します。
上限が設けられたプロジェクトまたはゾーンのプロジェクト ID またはゾーン ID。
適用されるプロジェクトまたはゾーンの上限です。
プロジェクト名。
ゾーン名。
前回の報告以降のプロジェクトまたはゾーンのプロセス数。
ディスクまたはメモリーのスワップを予約するすべての匿名マッピングの合計。
プロジェクトまたはゾーンのプロセス常駐の合計設定サイズ (RSS)。単位は、キロバイト (K)、メガバイト (M)、またはギガバイト (G) です。サイズには共有ページは含まれていません。
プロジェクトまたはゾーンの RSS の上限。メモリーの上限を指定する方法については、rcapd(1M) を参照してください。
rcapd がページアウトを試みるメモリーの合計容量。
ページングとは、物理メモリーから (または物理メモリーへ) ページと呼ばれるメモリーの一部を再配置する処理を指します。rcapd は、もっとも使用されていないページをページアウトします。
rcapd が各サンプリングサイクル中にページアウトを試みるメモリーの平均サイズ。rcapd が RSS をサンプリングする頻度は、rcapadm(1M) で設定できます。
rcapd が正常にページアウトするメモリーの合計容量の見積り。
rcapd が各サンプリングサイクル中に正常にページアウトするメモリーの平均サイズの見積り。rcapd がプロセス RSS をサンプリングする頻度は rcapadm で設定できます。
次のオペランドがサポートされています。
報告間隔を指定します (秒)。デフォルトの間隔は 5 秒です。
報告を生成する回数を指定します。デフォルトでは、終了シグナルを受信するまで、あるいは、rcapd プロセスが終了するまで、rcapstat は統計を報告し続けます。
2 人のユーザーに関連付けられた 2 つのプロジェクトに、上限が定義されています。user1 の上限は 50M バイト、user2 の上限は 10M バイトです。
次のコマンドは、5 つの報告を 5 秒間のサンプリング間隔で生成します。
example# rcapstat 5 5 id project cappd nproc vm rss cap at avgat pg avgpg 112270 user1 Yes 24 123M 35M 50M 50M 0K 3312K 0K 78194 user2 Yes 1 2368K 1856K 10M 0K 0K 0K 0K id project cappd nproc vm rss cap at avgat pg avgpg 112270 user1 Yes 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 Yes 1 2368K 1856K 10M 0K 0K 0K 0K id project cappd nproc vm rss cap at avgat pg avgpg 112270 user1 Yes 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 Yes 1 2368K 1928K 10M 0K 0K 0K 0K id project cappd nproc vm rss cap at avgat pg avgpg 112270 user1 Yes 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 Yes 1 2368K 1928K 10M 0K 0K 0K 0K id project cappd nproc vm rss cap at avgat pg avgpg 112270 user1 Yes 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 Yes 1 2368K 1928K 10M 0K 0K 0K 0K
出力の最初の 3 行は 1 回目の報告です。ここには、2 つのプロジェクトに関する上限とプロジェクトの情報、および rcapd 起動以降のページング統計が記載されています。at と pg の列において、user1 にはゼロより大きな値が入っており、user2 にはゼロが入っています。これは、1 回目の報告の期間中、user1 は上限を超えたが、user2 は超えなかったことを意味します。
2 回目以降の報告では、目立った活動はありません。
使用例 2 rcapstat を使用した、プロジェクトの RSS の監視example% rcapstat 5 5 id project cappd nproc vm rss cap at avgat pg avgpg 376565 user1 Yes 57 209M 46M 10M 440M 220M 5528K 2764K 376565 user1 Yes 57 209M 44M 10M 394M 131M 4912K 1637K 376565 user1 Yes 56 207M 43M 10M 440M 147M 6048K 2016K 376565 user1 Yes 56 207M 42M 10M 522M 174M 4368K 1456K 376565 user1 Yes 56 207M 44M 10M 482M 161M 3376K 1125K
プロジェクト user1 には、物理メモリーの上限を超える RSS があります。pg 列の 0 以外の値が示しているとおり、rcapd は、このプロジェクトのプロセスの物理メモリーの使用率を上限に合わせて下げようと、メモリーをページアウトし続けています。ただし、rcapd が成功していないのは、rss 値が相応の減少を示していないことでわかります。これは、アプリケーションの常駐メモリーがアクティブに使用されているために rcapd が作業用セットに影響を及ぼしていることを意味します。この状況では、作業用セットのサイズ (WSS) が減少するか、上限を上げるか、アプリケーションのメモリーアクセスパターンを変更するまで、高いページフォルト率とそれに関連する入出力がシステムで続きます。ページフォルトが発生するのは、新しいページを作成する必要があるとき、あるいは、システムがスワップデバイスからページをコピーする必要があるときです。
使用例 3 プロジェクトの作業セットサイズの決定この例は、例 1 の続きで、同じプロジェクトを使用します。
example% rcapstat 5 5 id project cappd nproc vm rss cap at avgat pg avgpg 376565 user1 Yes 56 207M 44M 10M 381M 191M 15M 7924K 376565 user1 Yes 56 207M 46M 10M 479M 160M 2696K 898K 376565 user1 Yes 56 207M 46M 10M 424M 141M 7280K 2426K 376565 user1 Yes 56 207M 43M 10M 401M 201M 4808K 2404K 376565 user1 Yes 56 207M 43M 10M 456M 152M 4800K 1600K 376565 user1 Yes 56 207M 44M 10M 486M 162M 4064K 1354K 376565 user1 Yes 56 207M 52M 100M 191M 95M 1944K 972K 376565 user1 Yes 56 207M 55M 100M 0K 0K 0K 0K 376565 user1 Yes 56 207M 56M 100M 0K 0K 0K 0K 376565 user1 Yes 56 207M 56M 100M 0K 0K 0K 0K 376565 user1 Yes 56 207M 56M 100M 0K 0K 0K 0K 376565 user1 Yes 56 207M 56M 100M 0K 0K 0K 0K
プロジェクトの上限を上げるか、上限適用の最小物理メモリー使用率を変更して、上限の適用を禁止することにより (rcapadm(1M) 参照)、常駐セットを作業用セットにすることができます。前の例で示したように、rss 列が安定してプロジェクトの WSS を表示するようになる可能性があります。WSS は、このプロジェクトのプロセスがページフォルトを絶え間なく起こさずに動作できる、上限の最小値です。
使用例 4 RSS 上限の自動適用/非適用example% rcapstat 10 id project cappd nproc vm rss cap at avgat pg avgpg 100 user1 Yes - 101M 103M 100M 0K 0K 0K 0K 100 user1 Yes - 101M 103M 100M 0K 0K 0K 0K 100 user1 Yes - 101M 103M 100M 0K 0K 0K 0K 100 user1 Yes 2 201M 203M 100M 2780K 2780K 2780K 2780K 100 user1 Yes - 201M 203M 100M 0K 0K 0K 0K 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes - 201M 203M 100M 0K 0K 0K 0K 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes - 201M 203M 100M 0K 0K 0K 0K 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes - 201M 203M 100M 0K 0K 0K 0K 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes - 201M 203M 100M 0K 0K 0K 0K 100 user1 No 2 201M 203M 100M 103M 103M 103M 103M 100 user1 Yes - 101M 103M 100M 0K 0K 0K 0K 100 user1 Yes - 101M 103M 100M 0K 0K 0K 0K
プロジェクト user1 は、その最大の物理メモリー上限である 100M を超える、常駐の設定サイズ 200M から始まります。最初、rcapd はプロジェクトに上限の適用を開始します。これは cappd 列の「Yes」で示されています。しばらくすると、rcapd は、プロジェクト user1 に対して設定されたメモリー上限は実現不可能であると評価します。頻繁に使用するページをスラッシュするとパフォーマンスが低下するため、それを回避するために user1 への上限の適用を停止します。このため、cappd 見出しに「No」と表示されます。user1 の常駐の設定サイズが 100M に減少すると、rcapd がプロジェクトにふたたび上限を適用し始めることがわかります。
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
無効なコマンド行オプションが指定されました。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
rcapadm(1M), rcapd(1M), attributes(5)
『Oracle Solaris のシステム管理 (リソース管理)』の「リソース上限デーモンによる物理メモリーの制御」
rcapstat に指定した間隔が、(rcapadm(1M) で) rcapd に指定した報告間隔よりも短い場合、いくつかの間隔に対する出力がゼロになることがあります。これは、rcapd は、rcapadm で指定された間隔ほど頻繁に統計を更新しないためです。この間隔は、rcapstat によって使用されるサンプリング間隔より正確ではなく、かつ無関係です。