和菜鸟一起学linux之linux性能分析工具oprofile移植
一、内核编译选项
make menuconfig
General setup--->
[*] Profiling support
<*> OProfile system profiling
二、popt移植
下载源码:http://rpm5.org/files/popt/ popt-1.16.tar.gz
解压缩后,在popt-1.16当前目录下,新建build.sh,编辑内容如下:
---------------------------------------分割线----------------------------------------------------
#!/bin/sh
./configure --host=arm-linux \
--prefix=/home/eastmoon/rootfs \
--target=arm-linux
---------------------------------------分割线----------------------------------------------------
设置下build.sh的权限后,
./build.sh 配置好以后,
make下,
再make install就ok了。
然后可以看到在/home/eastmoon/rootfs中就会有相关的.so等库了。
二、binutils移植
下载源码:http://ftp.gnu.org/gnu/binutils/ binutils-2.22.tar.gz
解压缩后,在binutils-2.22当前目录下,新建build.sh,编辑内容如下:
---------------------------------------分割线----------------------------------------------------
#!/bin/sh
./configure --host=arm-linux \
--with-kernel-support \
--prefix=/home/eastmoon/rootfs \
--target=arm-linux \
--disable-nls
---------------------------------------分割线----------------------------------------------------
设置下build.sh的权限后,
./build.sh 配置好以后,
修改gas/Makefile,WARN_CFLAGS中去掉-Werror
因为有些机器是64位的,编译的.a在oprofile中链接会有问题。所以,这时候
vim config.status
修改$[“CFLAGS”]=”-g–O2” 为 $[“CFLAGS”]=”-g–O2 -fPIC”.
接着
make下,
再make install就ok了。
然后可以看到在/home/eastmoon/rootfs中就会有相关的.so等库了。
三、oprofile移植
下载源码:http://oprofile.sourceforge.net/download/ oprofile-0.9.9.tar.gz
解压缩后,在oprofile-0.9.9当前目录下,新建build.sh,编辑内容如下:
---------------------------------------分割线----------------------------------------------------
#!/bin/sh
CFLGAS+=-I//home/eastmoon/rootfs/include \
CXXFLGAS+=-I//home/eastmoon/rootfs/include\
LDFLGAS+=-L//home/eastmoon/rootfs/lib \
./configure --host=arm-linux \
--with-kernel-support \
--prefix=/home/eastmoon/rootfs \
--target=arm-linux \
---------------------------------------分割线----------------------------------------------------
设置下build.sh的权限后,
./build.sh 配置好以后,
接着
make下,
再make install就ok了。
然后可以看到在/home/eastmoon/rootfs中就会有相关的应用程序了。
四、应用
编译的时候有指定的OPROFILE_EVENTS_DIR的路径。所以,在使用的时候
export OPROFILE_EVENTS_DIR=’/home/oprofile’
把/home/eastmoon/rootfs/share/oprofile下的文件,拷贝到/home/oprofile下。
最后,就可以使用oprofile了
opcontrol –setup–no-vmlinux
opcontrol –init
opcontrol –start //启动
opcontrol –dump //采集
opcontrol –stop //停止
opreport //查看
opreport –l //查看,包括函数
具体的其他功能可以百度查看,这里只是移植和简单的应用。
和菜鸟一起学linux之linux性能分析工具oprofile移植的更多相关文章
- perf学习-linux自带性能分析工具
目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里. 方便自己查看. 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析. ...
- 1.linux服务器的性能分析与优化
[教程主题]:1.linux服务器的性能分析与优化 [课程录制]: 创E [主要内容] [1]影响Linux服务器性能的因素 操作系统级 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处 ...
- Linux性能分析工具的安装和使用
转自:http://blog.chinaunix.net/uid-26488891-id-3118279.html Normal 0 7.8 磅 0 2 false false false EN-US ...
- 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化
高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...
- linux命令(4):top 命令(性能分析工具)
linux 的top命令详解 简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个 ...
- Linux性能分析工具top命令详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. top命令说明 [www.linuxidc.com@linuxidc-t-tomcat-1 ...
- Linux性能分析工具与图形化方法
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:赵坤|腾讯魔王工作室后台开发工程师 在项目开发中,经常会遇到程序启动时间过长.CPU使用率过高等问题,这个时候需要依靠性能分析工具来 ...
- Linux 性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
- [转]Linux性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
随机推荐
- 安卓程序员要拿到5000和1w的薪资,分别需要掌握哪些技术?
这个是我在逛知乎的时候发现的一个帖子,在这里小小的整理了一下,收集了一些评论,然后我分享出来,希望对自己还有同行有所帮助. 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 链接 ...
- python地理数据处理库geopy
http://blog.csdn.net/pipisorry/article/details/52205266 python地理位置处理 python地理编码地址以及用来处理经纬度的库 GeoDjan ...
- Github Pages 搭建HEXO主题个人博客
跌跌撞撞,总算是建立起来了.回首走过的这么多坑,也真的是蛮不容易的.那么就写点东西,记录我是怎么搭建的吧. 准备工作 安装Node.js: 用于生成静态页面,我们需要到官网上去下载即可.http:// ...
- 14 Fragment的V4包的使用
activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- [ExtJS5学习笔记]第十七节 Extjs5的panel组件增加accodion成为折叠导航栏
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39102335 官方例子:http://dev.sencha.com/ext/5.0.1 ...
- ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人
ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人 先附上资料网址: 1. https://developer.leapmoti ...
- Android初级教程理论知识(第七章服务)
服务两种启动方式 startService:服务被启动之后,跟启动它的组件没有一毛钱关系 bindService:跟启动它的组件同生共死 绑定服务和解绑服务的生命周期方法:onCreate->o ...
- iOS开发基础block的形式讲解
前几个星期,我利用通知写了一个仿京东选择地址的Demo(http://blog.csdn.net/hbblzjy/article/details/52212879),后来看过一篇文章说,尽量少用通知, ...
- 学生信息管理小系统(以XML为存储方式)
为了更好地应用XML,就写了这个小项目. 下面是我的项目的目录结构 项目思路 dao是Date Access Object 数据访问层,主要是负责操作数据 domain是实体层,类似于bean层,放置 ...
- ffmpeg转码器移植VC的工程:ffmpeg for MFC
本文介绍一个自己做的FFMPEG移植到VC下的开源工程:ffmpeg for MFC.本工程将ffmpeg工程中的ffmpeg转码器(ffmpeg.c)移植到了VC环境下.并且使用MFC做了一套简单的 ...