sar -q コマンドを使用すると、待ち行列に要求が入っている平均待ち行列の長さと、その間の時間の割合が表示されます。
$ sar -q 00:00:01 runq-sz %runocc swpq-sz %swpocc 01:00:01 1.0 34
システムに空きメモリーが十分ない場合でも、スワップアウトされた軽量プロセス数が 0 より大きい場合があります。この状態は、休眠中の軽量プロセスがスワップアウトされ処理されない場合 (プロセスや軽量プロセスが休眠中であり、キーボードやマウスの入力を待機中の場合など) に発生します。
表 26-15 は、-q オプションを指定する場合の出力を示します。
表 26-15 sar -q コマンドの出力
フィールド名 |
説明 |
---|---|
runq-sz |
CPU を実行するためにメモリー内で待機中のカーネルスレッド数。通常、この値は 2 未満になる。値が常に 2 より大きい場合は、システムが CPU の限界に到達している可能性がある |
%runocc |
ディスパッチ待ち行列が使用されている時間の割合 |
swpq-sz |
スワップアウトされた平均軽量プロセス数 |
%swpocc |
軽量プロセスがスワップアウトされた時間の割合 |
次の例は、sar -q コマンドからの出力を示します。%runocc の値が大きく (90 パーセント超)、runq-sz が 2 より大きい場合は、CPU の負荷が大きく、応答速度が低下しています。この場合は、CPU の容量を増やしてシステムの応答速度を適正化する必要があります。
$ sar -q SunOS venus 5.7 Generic sun4m 06/17/98 00:00:01 runq-sz %runocc swpq-sz %swpocc 01:00:01 1.0 34 02:00:01 1.0 34 03:00:00 1.0 34 04:00:01 1.0 35 05:00:01 1.0 35 06:00:01 1.0 35 07:00:01 1.0 34 08:00:01 1.0 35 08:20:01 1.0 36 08:40:00 1.0 32 09:00:01 1.0 36 09:20:00 1.1 9 09:40:00 1.3 3 10:00:02 1.5 4 10:20:02 1.4 11 10:40:00 1.2 4 Average 1.0 30