首页 > 系统相关 >和菜鸟一起学linux之linux性能分析工具oprofile移植

和菜鸟一起学linux之linux性能分析工具oprofile移植

时间:2023-01-15 16:06:23浏览次数:69  
标签:-- 菜鸟 eastmoon sh linux home oprofile rootfs



一、内核编译选项

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   //查看,包括函数

具体的其他功能可以百度查看,这里只是移植和简单的应用。

标签:--,菜鸟,eastmoon,sh,linux,home,oprofile,rootfs
From: https://blog.51cto.com/u_15940062/6008783

相关文章

  • 和菜鸟一起学linux之upnp协议的学习记录
    UPnP全名是UniversalPlugandPlay,主要是微软在推行的一个标准。简单的来说,UPnP最大的愿景就是希望任何设备只要一接上网络,所有在网络上的设备马上就能知道有新设备加入,这......
  • 和菜鸟一起学linux之bluez学习记录1
    关于蓝牙协议栈体系结构 底层硬件模块 RF1、利用2400M~2483.5M频带2、采用调频方式传输数据,一共有79/EDR,40/BLE个hops,每秒3、采用GFSK(DQPSK和8DPSK)调制方式4、信道间隔(1......
  • 和菜鸟一起学android4.0.3源码之wifi direct的简单分析
    关于wifidirectWifidirect的连接 下面的图表示的是wifidirect的发现过程。 整个过程可以见下图。关于android上的wifidirect首先上层通过调用p2pmanager的接口来实现......
  • 和菜鸟一起学linux之bluez学习记录2
    这里主要摘取对于hci,l2cap,sdp和rfcomm的一些应用编程。 关于hci 一、HCI层协议概述 1、HCICommandPackets详见bluez源码:lib/hci.h/*LinkControl*/#defineOGF_LINK_......
  • 和菜鸟一起学linux内核源码之基础准备篇
        注:以下大部分内容摘自linux内核编程入门篇和linux内核完全注释       在工作的这段时间,发现我的visio画图熟悉了点点,总喜欢把什么源码啊,结构啊之类的就......
  • 和菜鸟一起学android4.0.3源码之wifi的简单分析
     关于wlan的组成 关于wifi应用层的接口的调用    首先从上层androidwifi的应用开始,首先会根据android的wifimanager的类,实例化一个mwifimanager的对象,这个对象处......
  • 和菜鸟一起学OK6410之ADC模块
    android上跑起来时也比较灵敏了,GPIO模拟的SPI也可以工作了,看了会书,修正了会,回到宿舍也已经9点多了。想想,OK6410上还有个AD模块呢。网上找了找资料,发现还是可以去尝试下可不......
  • 和菜鸟一起学算法之三分法求极值问题
    7年,唉,可是他错了,女孩根本不爱他,不过期间他的执着和付出,很让我感动,也许自己不太像他那样,才会让自己有现在的处境吧。也许吧。小感慨下。不过现在也挺好的,上上班,写写文章,然后......
  • Linux DNS --- Bind多域名配置
    一、承上启下https://www.cnblogs.com/eagle6688/p/17026162.html上一篇我们配置了example.com的解析,本文我们尝试添加第二个域名test.com还有它的二级子域名mail.test.c......
  • Linux内核机制—内核热补丁
    一、内核热补丁简介1.热补丁内核实现路径:kernel/livepatch/2.热补丁内核使用demo路径lib/livepatch/,可参考livepatch-sample.c实验也最简单。/*单独测试,使用新函......