oprofile是一个非常不错的性能打点分析工具,原来在huawei用的比较多。现工作需要对程序进行性能分析,发现在虚拟机上装了若干版本后,报一堆问题。另外发现oprofile从0.9.9版本后,更换了新的接口(0.9.9版本新老并存,还是可以使用旧接口的)。
网上搜了搜,现提供在虚拟机和ubuntu18.04上,安装oprofile0.9.9成功的方法(可使用我提供的oprofile压缩包,此包修改了一些支持小众处理器的编译报错,下载地址:https://download.youkuaiyun.com/download/lizhengx/10488868)。
1)操作系统:Linux ubuntu 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
2)编译器:gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
2. 编译安装
0)有一些依赖库可能需要安装:
sudo apt-get install binutils-dev
sudo apt-get install libpopt-dev
sudo apt-get install libiberty-dev
1)解压缩:tar -zxvf oprofile.0.99.tar.gz
2)进入oprofile.0.99目录,然后./configure
3)编译: make
4) 安装: make install
3. 运行
1)启动模块:如果你的linux操作系统不是虚拟机,执行opcontorl --init。
如果是虚拟机(虚拟机对oprofile的支持不好),要执行其他命令(不要执行opcontrol --init,
如果不小心执行了,可以先opcontrol --deinit让它从内核中卸载。
可以通过lsmod|grep oprofile命令看下有没有东西输出,如果没有东西,说明oprofile没起来),
虚拟机情况下要执行:modprobe oprofile timer=1
这时再输入一下lsmod|grep oprofile命令,可以看到oprofile已经起来了。
2)启动daemon,opcontrol --start-daemon
3)启动数据收集,opcontrol -s
4)停止数据收集,opcontrol -t
5)导出数据,opcontrol -d,可以注意看一下dump文件在什么目录下。
6)查看报告,opreport -l,如果需要保存信息,可以重定向到文件中,比如opreport -l > 1.txt
4. Enjoy yourself~