 如何检查系统调用统计信息 (sar -c)
如何检查系统调用统计信息 (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 | 
以下示例显示 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 系统调用传送的字符数(字节)。 |