安装oprofile

oprofile-0.9.5.tar.zip oprofile-0.9.5.tar.zip ,很经典的Linux系统资源分析工具。 立即下载

折腾一下午,起初是系统版本低,安装更新了一下午,然后换了一个software 源,选择的是server china ,进行sudo apt-get install oprofile,才安装成功,

起初一直用的网易的源。

 

 

可以打入“whereis php”命令来显示程序的位置。
或者打入“locate  php”命令来显示包含php的文件名或目录名及路径。
 
 
 
1. oprofile简介

oprofile 是 Linux 平台上的一个功能强大的性能分析工具, 支持两种采样(sampling)方式:基于事件的采样(event based)和基于时间的采样(time based)。

基于事件的采样是oprofile只记录特定事件(比如L2 cache miss)的发生次数,当达到用户设定的 定值时oprofile 就记录一下(采一个样)。这种方式需要CPU 内部有性能计数器(performace counter)。

基于时间的采样是oprofile 借助OS 时钟中断的机制,每个时钟中断 oprofile 都会记录一次(采一次样)。引入的目的在于,提供对没有性能计数器 CPU 的支持。其精度相对于基于事件的采样要低。因为要借助 OS 时钟中断的支持,对禁用中断的代码oprofile不能对其进行分析。

使用方法

1.     准备内核:
Oprofile需要内核的支持,2.6的linux内核已经支持了这个功能,可以编译成模块或者直接编译进内核。一般发行版本是没有将此项功能编译进内核的,因此需要手动编译一个内核版本,将cat /boot/config-`uname -r` | grep OPROFILE
应该有这样两行:
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE=m
如果没有则加上,CONFIG_OPROFILE=m表示编译成模块,CONFIG_OPROFILE=y表示直接编译进内核。我一般会选择直接编译进内核。使用重新编译的内核启动机器,如果oprofile编成了模块,需要加载oprofile模块。

2.     安装oprofile工具:
下载oprofile的daemon程序和工具集,直接上http://oprofile.sourceforge.net/download/ 下载最新的oprofile源码包到目标机器上,编译安装。注意:安装时需要root权限。

3.     设置oprofile参数。
Oprofile是通过设置cpu事件来进行性能测试的,它有一个daemon的进程来启动和收集相关的性能数据。因此启动oprofile之前需要先设置一些参数,比如收集的事件名字,抽样频率。
Oprofile的设置是通过opcontrol命令来进行的

首先,配置 OProfile 是否应该监视内核。这是在启动 OProfile 前唯一所需的配置选项。其它选项都是可选的。
要监视内核,以root用户身份执行以下命令:


opcontrol --vmlinux=/boot/vmlinux-`uname -r`

要配置 OProfile 不监视内核,以root用户身份执行以下命令:

opcontrol --no-vmlinux

一般来说,我们做应用程序的性能测试不需要关注内核的性能。另外需要关注cpu的周期事件,因此需要进行如下设置

opcontrol --setup --event=eventname:count:unitmask:kernel:user

这里解释一下event参数的各个项的意思:

项

说明

eventname

要关注的事件名称,常用的事件名称及功能如下:

CPU_CLK_UNHALTED: CPU的执行时间,性能测试时最常用的事件
LLC_MISSES: L2 cache失效情况。

DTLB_MISSES: 数据TLB失效情况。
一般做性能测试时只会用到CPU_CLK_UNHALTED。

count

事件抽样频率,oprofile并不是对每次事件都进行记录,而是进行抽样,每多少次事件进行一次数据收集,如果抽样太低,会导致事件数据的收集占用太多的cpu.因此每个事件,oprofile给了一个最小值,每类事件的最小值可以通过opcontrol --list-events查到。

unitmask

事件的掩码,通过opcontrol --list-events可查看相应事件的掩码意义,这里不细说了。

kernel

是否收集内核的事件。0表示不收集,1表示收集。

user

是否收集用户的事件。0表示不收集,1表示收集。

对性能测试时,一般使用的设置参数如下:

opcontrol --setup --event=CPU_CLK_UNHALTED:10000:0:0:1

4.     编译测试程序,需要打开-g参数。

g++ -g -o perf_test perf_test.cpp

5.     进行测试。
查看当前设置的状态,确保设置正确

opcontrol --status

 

清除上一次收集的数据

opcontrol --reset

 

启动数据收集。

opcontrol --start

 

运行我们要测试的程序

 

 

运行完成后,停止oprofile数据的收集。

opcontrol --stop

 

 

结果分析

Oprofile的数据有两种查看方式:

1.     使用opreport查看。

 

 

Samples

采样到的次数

%

占的百分比

Symbol name

函数名

2.     也可以使用工具,生成图片查看。
先用opgprof产生Gprof格式的数据。

opgprof ./perf_test

在当前目录下会生成gmou.out文件。
       再用gprof生成txt数据

gprof ./perf_test gmon.out >result.txt

把result.txt从服务器上下载下来,在windows下使用前面介绍的python脚本生成       图片

python gprof2dot.py result.txt | dot -Tpng -o  report_gprof.png


 

 

FreeRTOS-Plus-CLI使用笔记 FreeRTOS-Plus-CLI使用笔记 一、简介 详细介绍可参考FreeRTOS-Plus-CLI官网地址入口 FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下: 提供一个实现命令功能的函数 将命令映射到该功能函数 注册命令 运行命令解释器 命令行调试接口对于排查分析出现的问题提供了很好的接口,可以通过查看传感器信息判断传感器是否正常,可以查看内置 阅读详情

相关推荐

群晖NAS断电后IP变了?3步搞定静态IP设置(附Linux挂载指南)

本文针对群晖NAS因断电重启导致IP地址变化的问题,提供了从根源到实践的完整解决方案。核心内容包括如何为NAS配置静态IP以彻底解决连接中断,并详细讲解了在Linux系统中通过NFS协议稳定挂载NAS共享文件夹的步骤与指南,确保网络存储服务持久可靠。

weixin_29271263的博客 849

linux oprofile 手册,oprofile使用简介

Oprofile使用1 介绍Oprofile是linux上的性能监测工具,通过CPU硬件提供的性能计数器对事件进行采样,从代码层面分析程序的性能消耗情况,找出程序性能的问题点。2 oprofile安装RHEL6.8GA上直接提供了安装包,配置好yum源直接安装即可。yum install oprofile3 oprofile使用设置检测事件opcontrol --event=::::各字段含义如下...

weixin_31616803的博客 1270

esp32-C3固件烧录用户手册

温馨提示:1.esp32-C3 BOOT脚为GPIO9,需要从芯片小板中焊接引出2.芯片小板中已经预留了所有烧录相关的引脚,大家可以按需焊接引线3.程序下载完,使用串口查看log时,需要使用220v供电使用(请务必准守用电安全)。原因:由于插座中包含继电器,计量计等耗电设备,所以usb转串口提供的3.3V电压和电流可能会出现供电不足,表现为usb转串口与电脑连接断断续续,导致无法查看log。

hbwang的博客 1万+

Linux虚拟机上安装性能测试工具OProfile(2012.12.04修订)

OProfile是Linux平台支持的一款功能强大的性能分析工具。网络上很多关于如何安装在虚拟机上安装OProfile的文章,但很多都存在这样或那样的问题。现经本人整理和实验后,其在Linux上虚拟机上的安装过程如下: ①、安装虚拟机 为了保证虚拟机能够正常启动,在安装虚拟机的过程中,请将磁盘模式设置为IDE。否则,升级内核后,将会报"pci 18.2: no compatible bridg...

编程语言小筑 324

海康威视 2024届 数字逻辑设计 实习笔试分析

记录一下 5月11日晚,做的海康威视的一场笔试。分享给需要的IC人。 岗位:数字逻辑设计工程师(浙江 杭州) 转载需要本人同意! 我的见解不一定都是准确的,欢迎评论区交流指正~~

记录所学,分享知识,结识挚友 1万+

C#构建高精度预测模型:从数据预处理到模型部署的实战指南

【代码】C#构建高精度预测模型:从数据预处理到模型部署的实战指南。

墨夶的博客 1260

OProfile入门——安装篇

参考博文: http://blog.youkuaiyun.com/luckywang1103/article/details/44087325 http://blog.youkuaiyun.com/lgh2008/article/details/1831184 1. 准备工作 (1)下载OProfile: 下载地址:https://sourceforge.net/projects/oprofile/fi

u013718481的博客 1409

YOLOv13改进策略【注意力机制篇】| ICASSP 2023 EMA 高效多尺度注意力,跨空间学习提高远距离建模依赖

ICASSP 2023 EMA 高效多尺度注意力在 YOLOv13 的接入实战:跨空间学习提升远距离依赖建模,含原理图解、完整代码、yaml 配置与实测参数量对比(ultralytics 8.3.63)。

qq_53329130的博客 930

[转]oProfile的安装与使用

oProfile的安装与使用2012-03-28 20:18:20 分类:LINUX 0.引言基于DPDK的发包工具的性能今天已经达到双向1900Wpps了,比昨天又高了200Wpps,正是得益于oProfile检测与调优的结果,而且今天还只是很简单的用了一下(类似于下面的示例),跟踪出对几个结构体字段的访问比较缓慢,于是对结构体字段进行了仔细的顺序调整与Cac...

weixin_30394633的博客 464

魔改短线利器DPO指标,频繁交易也能盈利超30倍?手机同花顺可用!

昨天我们提示了一些高位风险板块,今天来看基本上都在跌幅前列。这一波由AIGC驱动的大行情,短期来看可能已经到了尾声。中期大家可以关注30日线和60日线是否有支撑,这种现象级的生产力变革主导的行情不可能直接就凉了——哪怕相关的企业距离从中获利还很遥远。在A股,当前是否盈利并不是当前股价的主要矛盾。保守的同学不妨关注下昨天的机会列表,里边全是一些超跌的板块,短期可能会延续弱势,但是一旦站上20日线,可能就会有一波超跌反弹的行情。AIGC中的资金外流,大概率会有一些低位板块得到临幸。

量化祛魅师 老Q。 1万+

6、线性时序逻辑到确定性自动机的翻译

本博文详细介绍了将线性时序逻辑(LTL)转化为确定性自动机的理论基础、技术方法和实际应用。内容涵盖LTL的基本运算符、确定性自动机的特点及其在模型检测中的作用,以及具体的翻译步骤与优化策略。通过实际案例展示了如何利用这一技术进行系统属性验证,并探讨了翻译过程中可能遇到的挑战及解决方案。

gpu4optimizer的博客 149

Linux下程序的Profile工具

 Linux下程序的Profile工具我们在写程序,特别是嵌入式程序的时候,通常需要对程序的性能进行分析,以便程序能够更快更好地运行,达到实时(real-time)的目的。如果程序很大,分析起来就很困难。如果有个工具能够自动进行程序的性能分析,那就最好了。这里介绍一种Linux下程序的Profiling工具----GNU profiler。GNU gprof能够打印出程序运行中各个函数消耗

1166

代谢组数据分析(二十一):通过MetaboAnalystR标准化构建sPLSDA预测模型

本文介绍了如何使用R语言中的MetaboAnalystR包和mixOmics包进行代谢组学数据的标准化和sPLSDA分析。MetaboAnalystR包用于数据预处理,包括数据初始化、清洗、补足、过滤和标准化等步骤,以确保数据质量。mixOmics包则用于sPLSDA分析,通过Lasso惩罚进行变量选择,并建立分类模型。文章详细说明了安装和加载相关R包的步骤,并提供了数据导入和预处理的代码示例。最后,强调了数据预处理的重要性,以确保后续分析的准确性和可靠性。

专注生信领域 2426

oprofile 安装指南

安装oprofile 运行./configure,发现ubuntu 9.04缺少popt、iberty configure: error: popt library not found sudo apt-get install libpopt-dev 搞定 configure: error: liberty library not found sudo apt

趴趴熊的专栏 1157

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ubuntu 上安装 oprofile

1. wget http://prdownloads.sourceforge.net/oprofile/oprofile-0.9.6.tar.gz 2. tar -zxf oprofile-0.9.6.tar.gz 3. ./configure checking for poptGetContext in -lpopt... no configure: error: popt li

haima1998的专栏 2682

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

oprofile安装和使用

1.概述 oProfile是用于Linux的若干种评测和性能监控工具中的一种,它可以工作在不同的体系结构上,包括MIPS、ARM、IA32、IA64和AMD。oProfile包含在Linux2.5和更高版本的内核中,也包含在大多数较新的Linux版本中,包括RedHat9。 oProfile是Linux平台上的一个功能强大的性能分析工具,支持两种采样(sampling)方式:基于事件的采样(e

windowschengxisheji的博客 1565

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

安装使用oprofile

1)安装oprofile 依赖库:popt,bfd,liberty #./configure --with-kernel=/usr/src/linux/ --with-kernel-support #make #make DESTDIR=`pwd`/_install install 如果不能编译,替换掉系统的库文件 2)内核支持OPROFILE,修改.confi

在线笔记 1128

oProfile的安装与使用

*****oProfile的安装与使用***** 转载于:https://www.cnblogs.com/AngelLee/p/4207792.html

weixin_30359021的博客 209

ubuntu12.4 环境下oprofile的安装

一 目的         安装oprofile的主要目的是观察mapreduce程序在CPU事件这个层次表现出的特征,对比了几个常见工具,最终确定利用operf来进行数据采集。Operf的特征是可以用非root用户profile单进程,并且有效作用于该进程中的任何线程和用fork产生的子进程。   二 源代码下载 operf是0.9.8版出现的新工具,可能存在bug, 稳定版下载页面

业余程序员kuma的专栏 1902

OProfile安装和使用

一、OProfile安装 1、从http://oprofile.sourceforge.net/download/ 下载OProfile的源码 2、sudo ./configure 可能会出现错误,我遇到两个错误,都是缺少依赖库。 1)popt library not found sudo apt-get install libpopt-dev 2)liberty librar

xuh5156的专栏 1902

Oprofile安装与使用探索

本文分别尝试了oprofile在x86平台和龙芯平台上的安装 一:oprofile的安装与配置(intel+ubuntu12.04) I. Oprofile安装 Oprofile包含在Linux 2.6版本的内核中,是用于Linux的若干种评测和性能监控工具中的一种。也可从官方网站下载源码进行编译安装;具体安装步骤: 1. ./configure –with-k...

weixin_34354173的博客 180
上一篇: c++中new一个二维数组
下一篇: linux输入输出重定向
database_system
博客等级 码龄15年 3粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值