Oprofile性能优化 && FAQ

6 篇文章 0 订阅
5 篇文章 0 订阅

Q: 为什么按照网上的做法,opgrof生成的gmon.out 生成不了图形?
A: 指定生成callgraph , 命令:opcontrol  --callgraph=n -i program
设置后,可以通过opcontrol --status查看


Q:采样有时出现处理缓冲区溢出,怎么办?oprofile sample buffer overflows
A:1.减少采样频率;
   命令:opcontrol -e CPU_CLK_UNHALTED:10000:0:1:0
   表示cpu时钟周期事件,每10000个cycle触发一次中断,适当调整这个值。
   2.增大采样缓冲区;
   命令:opcontrol --buffer-size=1000000
  opcontrol --buffer-watershed=256000
  opcontrol --cpu-buffer-size=16000


Q: 安装graphviz失败,报错找不到头文件ft2build.h.
A: 需首先安装依赖库freetype.

 

Q:oprofile抓不到采样数据,opreport error: No sample file found
A:确定采样模式,NMI,Timer interrupt.
   设置定时模式:
   opcontrol --deinit && modprobe oprofile timer=1
 
Q: 因无源代码,opannotate无法分析出结果
A:用opreport -d 输出16进制函数地址,写perl脚本解析文本,
   调用add2line将地址指针转换成函数行号。

 

 

以下是项目中的优化实践:
CASE1:  优化配置(config)

                 项目中Json配置序列化耗时,耗CPU,思想:分而治之。
               
CASE2:  优化文件读写 (disk io)

                 文件系统IO优化, 思想:HASH缓冲,对齐。


CASE3:  netra系统平台,(mutex,memory , memcpy, times)

                  这是平台级的系统优化,思想:发现热点,各个击破。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值