^%SYS.MONLBLユーティリティはパフォーマンス計測のためのユーティリティです。
このユーティリティを使うと、ルーチンのどの部分で処理に時間がかかっているかわかります。
USER>Do %SYS.MONLBL WARNING ! Starting the line-by-line monitor will enable the collection of statistics for *every* line of code executed by the selected routines and processes. This can have a significant impact on the performance of a system, and it is recommended that you do this on a 'test' system. The line-by-line monitor also allocates shared memory to track these statistics for each line of each routine selected. This is taken from the general shared memory already allocated by Cache and should be considered if you are using '*' wildcards and trying to analyze a large number of routines. If the monitor fails to start due to a problem with memory allocation, you may need to increase the GenericHeapSize parameter in the system configuration. You may use the 'Memory Requirements' option to see how much memory a collection would need (without starting the collection). 1.) Start Monitor 2.) Memory Requirements Enter the number of your choice: 1 Enter routine names to be monitored on a line by line basis. Patterns using '*' are allowed. Enter '?L' to see a list of routines already selected. Press 'Enter' to terminate input. Routine Name: * (3 routines added to selection.) // * でそのネームスペースの全ルーチン対象 Routine Name: // Enterだけ入力で次に進む Select Metrics to monitor 1) Monitor Minimal Metrics 2) Monitor Lines (Coverage) 3) Monitor Global Metrics 4) Monitor All Metrics 5) Customize Monitor Metrics Enter the number of your choice: <1> 4 Select Processes to monitor 1) Monitor All Processes 2) Monitor Current Process Only 3) Enter list of PIDs Enter the number of your choice: <1> 1 Monitor started. // ここでfailedと表示される場合、メモリが確保できないためモニタリング開始できていません。 Press RETURN to continue ...
項目 | 概要 |
---|---|
Line | 行番号。ルーチンごとの先頭から振られる |
GloRef | グローバル読み込み回数 |
GloSet | グローバル書き込み回数 |
GloKill | グローバル削除回数 |
DirBlkRd | データベースディレクトリブロック読み取り回数 |
UpntBlkRd | データベース上位ポインタブロック読み取り回数 |
BpntBlkRd | データベース下位ポインタブロック読み取り回数 |
DataBlkRd | データベースデータブロック読み取り回数 |
RouBlkRd | データベースルーチンブロック読み取り回数 |
MapBlkRd | データベースマップブロック読み取り回数 |
OthBlkRd | データベースその他ブロック読み取り回数 |
DirBlkWt | データベースディレクトリブロック書き込み回数 |
UpntBlkWt | データベース上位ポインタブロック書き込み回数 |
BpntBlkWt | データベース下位ポインタブロック書き込み回数 |
DataBlkWt | データベースデータブロック書き込み回数 |
RouBlkWt | データベースルーチンブロック書き込み回数 |
MapBlkWt | データベースマップブロック書き込み回数 |
OthBlkWt | データベースその他ブロック書き込み回数 |
DirBlkBuf | データベースディレクトリブロックバッファアクセス回数 |
UpntBlkBuf | データベース上位ポインタブロックバッファアクセス回数 |
BpntBlkBuf | データベース下位ポインタブロックバッファアクセス回数 |
DataBlkBuf | データベースデータブロックバッファアクセス回数 |
RouBlkBuf | データベースルーチンブロックバッファアクセス回数 |
MapBlkBuf | データベースマップブロックバッファアクセス回数 |
OthBlkBuf | データベースその他ブロックバッファアクセス回数 |
JrnEntry | ジャーナル追加数 |
BlkAlloc | 割り当てブロック数??? |
NetGloRef | ,ネットワーク経由グローバル読み込み回数 |
NetGloSet | ,ネットワーク経由グローバル書き込み回数 |
NetGloKill | ,ネットワーク経由グローバル削除回数 |
NetReqSent | ,ネットワーク経由要求送信回数 |
NCacheHit | ネットワーク経由要求キャッシュヒット回数 |
NCacheMiss | ネットワーク経由要求キャッシュ非ヒット回数 |
NetLock | ネットワーク経由ロック要求数 |
RtnLine | 行実行回数 |
RtnLoad | 他の関数を呼び出した回数 |
RtnFetch | ??? |
LockCom | ロック要求回数 |
LockSucc | ロック成功回数 |
LockFail | ロック失敗回数 |
TermRead | |
TermWrite | |
TermChRd | |
TermChWrt | |
SeqRead | |
SeqWrt | |
IJCMsgRd | |
IJCMsgWr | |
IJCNetMsg | |
Retransmit | |
BuffSent | |
Time | その行の実行時間 |
TotalTime | 呼び出し先を含めた実行時間 |