目前,perf
是Linux
系统上最全面最方便的一个性能检测工具。由Linux
内核携带并且同步更新。
Ubuntu 16.04
系统上需要执行如下命令安装:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 常规内核使用 #sudo apt-get install linux-tools-generic # 低延时内核使用 #sudo apt-get install linux-tools-lowlatency # 因此我们根据内核自动选择安装 $ sudo apt-get install linux-tools-`uname -r | cut -d- -f1-2`-`uname -r | cut -d- -f3` $ sudo apt-get install linux-tools-common #解决报错"Kernel address maps (/proc/{kallsyms,modules}) were restricted. Check /proc/sys/kernel/kptr_restrict before running 'perf record'". $ sudo sh -c " echo 0 > /proc/sys/kernel/kptr_restrict" |
使用方法如下(gcc
编译时最好使用-g
参数,生成符号,方便调试):
1 2 3 4 5 6 |
#生成性能日志文件,默认生成 perf.data $ sudo perf record -e cpu-clock -g ./hello #解析性能日志 $ perf report -g -i perf.data |