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

システムコールの統計情報をチェックする方法 (sar -c)

sar -c コマンドを使用すると、システムコールの統計情報が表示されます。


$ sar -c
00:00:00 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      38       2       2    0.00    0.00     149     120

表 36-9 に、-c オプションでレポートされる次のシステムコールのカテゴリを示します。一般に、readswrites はシステムコール合計の約半分ですが、割合はシステムで実行中の動作によって大幅に変動します。

表 36-9 sar -c コマンドからの出力

フィールド名 

説明 

scall/s

1 秒当りのすべてのタイプのシステムコール数 (通常は、ビジーな 4 ないし 6 ユーザーのシステム上で 1 秒当り約 30) 

sread/s

1 秒当りの read システムコール数

swrit/s

1 秒当りの write システムコール数

fork/s

1 秒当りの fork システムコール数 (4 ないし 6 ユーザーのシステム上で毎秒約 0.5)。この数値は、シェルスクリプトの実行中は大きくなる

exec/d

1 秒当りの exec システムコール数。exec/sfork/s で割った値が 3 より大きい場合は、効率の悪い PATH 変数を調べる

rchar/s

read システムコールによって転送される 1 秒当りの文字 (バイト) 数

wchar/s

write システムコールによって転送される 1 秒当りの文字 (バイト) 数

例 - システムコールの統計情報をチェックする

次の例に、sar -c コマンドからの出力を示します。


$ sar -c
SunOS venus 5.8 Generic sun4u    09/07/99

00:00:00 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
01:00:00      38       2       2    0.00    0.00     149     120
02:00:02      38       2       2    0.00    0.00     149     120
03:00:00      42       2       2    0.05    0.05     218     147
04:00:00      39       2       2    0.01    0.00     155     123
05:00:01      38       2       2    0.00    0.00     150     120
06:00:00      38       2       2    0.01    0.00     149     120

Average       50       4       3    0.02    0.02     532     238