性能测试工具perf安装与使用
1.性能测试介绍
《超全整理!Linux 性能分析工具汇总》
https://zhuanlan.zhihu.com/p/358956587
2.perf安装
在终端输入
~$ perf
按照一步步提示安装中会出现如下错误
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 linux-tools-4.15.0-126-generic
...
因此换一种方法安装,直接下载与当前内核版本一致的工具
查看kernel
~$ uname -a
Linux shen-G3-3579 4.15.0-126-generic #129~16.04.1-Ubuntu SMP Tue Nov 24 11:22:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
去对应的网站上下载4.15的版本 (http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/)
根据kernel版本选择v4.x/下载linux-4.15.tar.gz
然后解压
~$ tar -zxvf linux-4.15.tar.gz
# 进入如下目录
~$ cd linux-4.15/tools/perf
~$ make
~$ make install
# 查看perf的安装情况
~$ perf --version
# 但是切换一个终端就找不到了,简单的方法,找到perf执行文件的路径,我的在Home的bin中,将之copy到/usr/bin中即可
在使用perf stat xx程序 时出现了error
Error:
You may not have permission to collect stats.
...
解决方法
~$ sudo gedit /etc/sysctl.conf
在最后两行添加
kernel.kptr_restrict=0 (如果是ubuntu16.04则加入该配置)
kernel.perf_event_paranoid= -1
# 更新一下
~$ sudo sysctl -p
3.perf使用
~$ perf top -p 进程id
# 或者
~$ perf top -e cpu-clock -p 进程id
安装参考如下
https://blog.csdn.net/qq_48201696/article/details/126381924
https://www.cnblogs.com/ber619/p/13431817.html
https://blog.csdn.net/FZeroTHero/article/details/102909990
https://blog.csdn.net/weixin_40378209/article/details/124047882
使用参考如下
https://blog.csdn.net/qq_15437629/article/details/117824718
https://blog.csdn.net/qq_42604176/article/details/120315631