Linux跟踪系统调用耗时的方法(初级篇)

strace

strace -cp 1

命令输出:

strace: Process 1 attached
strace: Process 1 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 28.09    0.000084          16         5           clone
 13.04    0.000039           7         5           timerfd_settime
 12.71    0.000038           6         6           epoll_wait
 11.04    0.000033           6         5           ioctl
  9.70    0.000029           4         6           read

perf

perf trace -p $pid --duration 50 

命令输出如下:

     0.076 (1249.922 ms): epoll_wait(epfd: 4<anon_inode:[eventpoll]>, events: 0x7ffe92ab3af0, maxevents: 36, timeout: 4294967295) = 1
  1250.074 (1249.927 ms): epoll_wait(epfd: 4<anon_inode:[eventpoll]>, events: 0x7ffe92ab3af0, maxevents: 36, timeout: 4294967295) = 1
  2500.076 (1249.924 ms): epoll_wait(epfd: 4<anon_inode:[eventpoll]>, events: 0x7ffe92ab3af0, maxevents: 36, timeout: 4294967295) = 1
perf trace -p $pid --duration 50 --call-graph dwarf -o savefile.txt

命令输出如下:

     0.409 (1249.593 ms): epoll_wait(epfd: 4<anon_inode:[eventpoll]>, events: 0x7ffe92ab3af0, maxevents: 36, timeout: 4294967295) = 1
                                       [0xffff80d79646ceb3] (/usr/lib64/libc-2.17.so)
                                       [0xffffaa31d86cf058] (/usr/lib/systemd/systemd)
                                       [0xffffaa31d86cfb6c] (/usr/lib/systemd/systemd)
                                       [0xffffaa31d862db82] (/usr/lib/systemd/systemd)
                                       [0xffffaa31d8621f27] (/usr/lib/systemd/systemd)
                                       __libc_start_main (/usr/lib64/libc-2.17.so)
                                       [0xffffaa31d8623f8b] (/usr/lib/systemd/systemd)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值