性能优化之“strace实例分析”

时间 : 15-01-08 栏目 : 性能优化 作者 : 老薛 评论 : 0 点击 : 1,939 次

摘要:
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。

[root@centos6 bdkyr]# strace -c dd bs=4M count=1024 if=/dev/zero of=test_02  conv=fdatasync
1024+0 records in
1024+0 records out
4294967296 bytes (4.3 GB) copied, 48.6931 s, 88.2 MB/s
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 60.73    2.930811        2854      1027           write
 18.79    0.906862      906862         1           fdatasync
 14.71    0.709912       50708        14         5 open
  5.77    0.278700         271      1029           read
  0.00    0.000010          10         1           arch_prctl
  0.00    0.000000           0        12           close
  0.00    0.000000           0         7           fstat
  0.00    0.000000           0         1           lseek
  0.00    0.000000           0        17           mmap
  0.00    0.000000           0         7           mprotect
  0.00    0.000000           0         2           munmap
  0.00    0.000000           0         3           brk
  0.00    0.000000           0         6           rt_sigaction
  0.00    0.000000           0         1           rt_sigprocmask
  0.00    0.000000           0         1         1 access
  0.00    0.000000           0         2           dup2
  0.00    0.000000           0         1           execve
  0.00    0.000000           0         1           getrlimit
  0.00    0.000000           0         2         1 futex
  0.00    0.000000           0         1           set_tid_address
  0.00    0.000000           0         1           set_robust_list
------ ----------- ----------- --------- --------- ----------------
100.00    4.826295                  2137         7 total


 

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/performance/590.html

随便看看

0