Perf_events
是目前在Linux
上使用广泛的profiling
/tracing
工具,除了本身是内核(kernel
)的组成部分以外,还提供了用户空间(user-space
)的命令行工具(“perf
”,“perf-record
”,“perf-stat
”等等)。
perf_events
提供两种工作模式:采样模式(sampling
)和计数模式(counting
)。“perf record
”命令工作在采样模式:周期性地做事件采样,并把信息记录下来,默认保存在perf.data
文件;而“perf stat
”命令工作在计数模式:仅仅统计某个事件发生的次数。
我们经常看到类似这样的命令:“perf record -a ...... sleep 10
”。在这里,“sleep
”这个命令相当于一个“dummy
”命令,没有做任何有意义的工作,它的作用是让“perf record
”命令对整个系统进行采样,并在10
秒后自动结束采样工作。