Solaris のシステム管理 (第 2 巻)

待ち行列動作をチェックする方法 (sar)

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