http://man.linuxde.net/strace
对系统调用进行计时
strace可以使用参数-T将每个系统调用所花费的时间打印出来,每个调用的时间花销现在在调用行最右边的尖括号里面。
系统调用的时间
这是一个很有用的功能,strace会将每次系统调用的发生时间记录下来,只要使用-t/tt/ttt三个参数就可以看到效果了,具体的例子可以自己去尝试。
oracle@orainst[orcl]:~
$strace -T ./test
// 这里只摘录部分结果
read(0, 1
"1\n", 1024) = 2 <2 .673455="">
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 <0 .000014="">
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbf5fe000 <0 .000017="">
write(1, "000000001\n", 10000000001
) = 10 <0 .000016="">
munmap(0xbf5fe000, 4096) = 0 <0 .000020="">
exit_group(0) = ?0>0>0>0>2>
| 参数名 | 输出样式 | 说明 |
|---|---|---|
| -t | 10:33:04 exit_group(0) | 输出结果精确到秒 |
| -tt | 10:33:48.159682 exit_group(0) | 输出结果精确到微妙 |
| -ttt | 1262169244.788478 exit_group(0) | 精确到微妙,而且时间表示为unix时间戳 |
没有评论:
发表评论