运行oprofile需要root权限,因为它要加载profile模块,启动oprofiled后台程序等。所以在运行之前,就需要切换到root。
使用oProfile的基本步骤如下所示,其中3-7的步骤是经常使用的,前后几个步骤无需重复多次:
1 opcontrol --init #加载模块
2 opcontrol --vmlinux=/usr/src/linux-2.6.37.2/vmlinux / --no-vmlinux #是否对kernel进行profiling3 opcontrol --reset #清楚当前会话中的数据
4 opcontrol --start #开始profiling
5 ./multiply #运行应用程序,oprofile会对它进行profiling
6 opcontrol --dump #把收集到的数据写入文件
7 opcontrol --stop #停止profiling
8 opcontrol -h 停止守护进程oprofiled
9 opcontrol --shutdown #关闭守护进程oprofiled
10 opcontrol --deinit #卸载模块之后可以使用opreport、opannotate命令得到性能数据, 如:
opreport -l ./multiply 可以得到一个清单,显示了消耗cpu较多的函数
opannotate -s ./multiply 可以对源代码进行注释,显示哪一行代码消耗cpu过多
未完待续。。。