和菜鸟一起学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操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
随机推荐
- hive的strict模式;where,group by,having,order by同时使用的执行顺序
主要限制三种情况 (1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大 (2) order by 执行时只产生一个reduce,必 ...
- jQuery Ajax 使用 ($.ajax、$.post、$.get)
项目中只要涉及到前后台的交互,数据状态之间的交互,ajax是必不可少的.一般项目中jquery方式的ajax用的还是比较多的.封装的比较好,用起来也顺手,兼容浏览器之间的差异. 操作的方式有三种: 1 ...
- Objc中为何某些类的属性要设置为copy而不是strong?
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 不知道大家是否注意,我们再使用一些第三方类的时候大多数情况下对 ...
- app如何更换用户头像信息呢?不妨这样做
对于现在的手机应用而言,要想获得更多的人的使用,就需要给用户更多的自由功能才行,这也是基于用户体验开发软件的核心思想,一切以用户为中心,想用户之所想,做用户之所需.今天我就来谈一谈刚学到的一个关于设置 ...
- RMI方式Ehcache集群的源码分析
Ehcache不仅支持基本的内存缓存,还支持多种方式将本地内存中的缓存同步到其他使用Ehcache的服务器中,形成集群.如下图所示: Ehcache支持多种集群方式,下面以RMI通信方式为例,来具体分 ...
- Android开发学习之路--Android Studio项目目录结构简介
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests ...
- 【Unity Shaders】Vertex Magic —— 访问顶点颜色
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样
eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样 第一种说法: 还真的找到解决的方法了, ...
- Android进阶(二十二)设置TextView文字水平垂直居中
设置TextView文字水平垂直居中 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_T ...
- TSVN客户端复制文件
TSVN客户端复制文件 代码重构中,可能需要将一个大文件拆分成2个小文件,同时要保证拆分后的小文件继承原来的SVN历史记录. TSVN客户端只有Rename功能,没有Copy功能. 可进入Browse ...