OProfile可以帮助用户识别诸如模块的占用时间、循环的展开、高速缓存的使用率低、低效的类型转换和冗余操作、错误预测转移等问题。它收集有关处理器事件的信息,其中包括TLB的故障、停机、存储器访问以及缓存命中和未命中的指令的攫取数量。OProfile支持两种采样方式:基于事件的采样(Event Based)和基于时间的采样(Time Based)。基于事件的采样是OProfile只记录特定事件(比如L2缓存未命中)的发生次数,当达到用户设定的定值时Oprofile就记枝册录一下〈采一个样)。这种方式需要CPU内部有性能计数器(Performace Counter)。基于时间的采样是OProfile借助OS时钟中断的机制,在每个时钟中断,OProfile都会记录一次(采一次样)。引入它的目的在于,提供对没有性能计数器的CPU的支持,其精度相对于基于事件的采样要低,因为要借助OS时钟中断的支持,对于禁用中断的代码,OProfile不能对其进行分析。OProfile在Linux上分两部分,一个是内核模块(oprofile.ko),另一个是用户空信搭碰间的守护进程( oprofiled)。前者负责访问性能计数器或者注册基于时间采样的函数,并将采样值置于内核的缓冲区内。后者在后台运行,负责滑谈从内核空间收集数据,写入文件。其运行步骤如下:1)初始化opcontrol--init 2)配置opcontrol--setup--event=... 3)启动opcontrol--start 4)运行待分析的程序xxx 5)取出数据
相关文章
-
王者荣耀什么是物理穿透和法术穿透,有什么作用?
2023-05-18 20:15 阅读(604) -
比喻的作用是什么?
2023-05-18 09:03 阅读(584) -
RNC与BSC的区别,以及功能作用
2023-05-18 03:21 阅读(614)
1 什么是衬套,有什么作用?
650 阅读
2 核桃皮的功效与作用核桃皮有什么作用
584 阅读
3 什么叫插叙,其作用是什么
640 阅读
4 苦菜的功效与作用
638 阅读
5 菠萝蜜核的功效与作用
634 阅读