oprofile使用简介

Oprofile使用

1 介绍

Oprofile是linux上的性能监测工具,通过CPU硬件提供的性能计数器对事件进行采样,从代码层面分析程序的性能消耗情况,找出程序性能的问题点。

2 oprofile安装

RHEL6.8GA上直接提供了安装包,配置好yum源直接安装即可。

yum install oprofile

3 oprofile使用

  1. 设置检测事件

opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:<kernel>:<user>

各字段含义如下:

event-name 事件名称,如CPU_CLK_UNHALTED,支持的事件列表可以通过opcontrol --list-events命令列出
sample-rate 触发一次采样的事件计数值,如100000
unit-mask 硬件单元掩码,如0x0F
kernel 是否对内核进行监测,取值0或1
user 是否对用户空间进行监测,取值0或1

实际检测案例:

opcontrol --event=CPU_CLK_UNHALTED:6000:0x00:0:1 #对core cycle进行profile

  1. 开始检测启动

opcontrol --init #加载模块

opcontrol --reset #清除当前会话中的数据

opcontrol --start #开始profiling

注:如果opcontrol –start报错,可以使用以下命令解决

opcontrol --deinit

echo 0 > /proc/sys/kernel/nmi_watchdog

  1. 保存检测数据

程序业务执行完成后,使用下面的命令将监测数据转储下来:

opcontrol --dump #把收集到的数据写入文件

  1. 停止检测

opcontrol –stop #停止profiling

opcontrol –shutdown #关闭守护进程oprofiled

opcontrol –deinit #卸载模块

4 oprofile其他用法

除了监测事件以外,oprofile还提供了以下的使用

  1. 是否监测内核文件

当要对内核进行监测时,需要指定内核的文件路径,使用下面的命令(其中file为内核文件完整路径):

opcontrol --vmlinux=file

如果不需要对内核进行性能监测,则此处直接使用--no-vmlinux参数:

opcontrol --no-vmlinux

  1. 设置监测数据分离方式

opcontrol --separate=<choice>

<choice> 有几下几个参数:

none do not separate the profiles (default)
library generate per-application profiles for libraries
kernel generate per-application profiles for the kernel and kernel modules
all generate per-application profiles for libraries and per-application profiles for the kernel and kernel modules

例:

Opcontrol --separate=library

  1. oprofile更多用法使用opcontrol –help查看

5 性能数据分析

监测数据转储后,即可以通过opreportopannotate命令查看性能消耗情况了。

1) 显示各模块整体的性能消耗情况

opreport

2) 显示各函数的性能消耗情况

opreport -l

3) 显示代码级别的性能消息情况

opannotate -s

6 脚本实例
下面的脚本是以前测试过程中临时写的,采集的思路可供参考。

LOGFILE="/tmp/OProfile_LOG"
DURATION=600
echo "start OProfile ($DURATION s)"
echo "set up OProfile"
opcontrol --deinit 2>> $LOGFILE  -- 加载
modprobe oprofile timer=1  
opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux  -- 设置跟踪vmlinux
opcontrol -c 0

opcontrol –reset  --清空当面的信息
echo "start OProfile" 
opcontrol --start >> $LOGFILE 2>&1   -- 开始跟踪
sleep $DURATION
echo "shutdown OProfile"
opcontrol --shutdown >> $LOGFILE 2>&1  -- 结束跟踪

echo "report OProfile"
opreport -l > $OUTDIR/opreport_-l.txt 2>> $LOGFILE  --以函数的角度显示检测结果

echo "oprofile temp data size: $(du -sh /var/lib/oprofile)"
echo "cleanup OProfile"
opcontrol --reset
opcontrol --deinit 2>> $LOGFILE
echo "finish OProfile"

参考文献

  1. http://hutaow.com/blog/2013/12/29/performance-analysis-with-oprofile/

注:如需转载,请标注出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342