Linux 性能分析工具 strace
strace
命令示例,详细使用说明请参考 man strace
strace ls |
strace
跟踪输出中包含
- Syscall Name ,如
execve
、openat
等 - Arguments , 系统调用使用的参数,如
"/usr/bin/ls"
、AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC
- Return Value ,系统调用的返回值以及简要说明信息, 如
= -1 EINVAL (Invalid argument)
、-1 ENOENT (No such file or directory)
、= 0
strace 命令常用选项
选项 | 说明 | 示例 |
---|---|---|
-o filename --output=filename |
将跟踪内容写入指定文件而不是 STDOUT(默认值) | |
-p pid --attach=pid |
追踪 PIDs 对应的进程,Ctrl + C 结束追踪。 支持 , 、 空格 ( ) 、 TAB 键( \t )分割的多个 PID |
|
-e expr |
追踪表达式匹配的系统调用,表达式语法请参考 man strace |
|
-c --summary-only |
仅输出调用的统计数据,不输出常规跟踪内容 | |
-C --summary |
输出常规跟踪内容后,输出统计信息 |