使用 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 |
以下示例显示 sar -c 命令的输出。
$ sar -c SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s 01:00:00 89 14 9 0.01 0.00 2906 2394 02:00:01 89 14 9 0.01 0.00 2905 2393 03:00:00 89 14 9 0.01 0.00 2908 2393 04:00:00 90 14 9 0.01 0.00 2912 2393 05:00:00 89 14 9 0.01 0.00 2905 2393 06:00:00 89 14 9 0.01 0.00 2905 2393 07:00:00 89 14 9 0.01 0.00 2905 2393 08:00:00 89 14 9 0.01 0.00 2906 2393 08:20:00 90 14 9 0.01 0.01 2914 2395 08:40:01 90 14 9 0.01 0.00 2914 2396 09:00:00 90 14 9 0.01 0.01 2915 2396 09:20:00 90 14 9 0.01 0.01 2915 2396 09:40:00 880 207 156 0.08 0.08 26671 9290 10:00:00 2020 530 322 0.14 0.13 57675 36393 10:20:00 853 129 75 0.02 0.01 10500 8594 10:40:00 2061 524 450 0.08 0.08 579217 567072 11:00:00 1658 404 350 0.07 0.06 1152916 1144203 Average 302 66 49 0.02 0.01 57842 55544 |
下表介绍了 -c 选项报告的系统调用类别。通常,读取和写入占系统调用总数的一半。但是,该百分比会因系统所执行的活动而产生极大的变化。
字段名 |
说明 |
---|---|
scall/s |
每秒中所有类型的系统调用数,在具有 4 到 6 位用户的系统中,通常每秒大约有 30 个系统调用。 |
sread/s |
每秒的 read 系统调用数。 |
swrit/s |
每秒的 write 系统调用数。 |
fork/s |
每秒的 fork 系统调用数,在具有 4 到6 位用户的系统中,每秒中大约有 0.5 个该系统调用。如果正在运行 Shell 脚本,此数字会增加。 |
exec/s |
每秒的 exec 系统调用数。如果 exec/s 除以 fork/s 的结果大于 3,请确定是否存在无效的 PATH 变量。 |
rchar/s |
每秒由 read 系统调用传送的字符数(字节)。 |
wchar/s |
每秒由 write 系统调用传送的字符数(字节)。 |