多核和 OProfile

Posted

技术标签:

【中文标题】多核和 OProfile【英文标题】:Multicore and OProfile 【发布时间】:2012-09-10 17:54:24 【问题描述】:

oprofile 线程感知/安全(意味着我可以安全地分析多线程应用程序),如果是,与 perf 有什么区别?

【问题讨论】:

【参考方案1】:

1 是的,oprofile 是线程感知的。

来自opcontroloprofile 的控制工具)的逐字记录:

--separate=[none,lib,kernel,线程,cpu,all]

根据给定的分隔符分隔样本。 'lib' 动态分离 每个应用程序的链接库示例。 'kernel' 分隔内核和内核模块 每个应用程序的样本; “内核”意味着“库”。 'thread' 为 每个线程和任务。 'cpu' 为每个 CPU 分开。 'all' 表示以上所有 options 和 'none' 关闭分离。

2 oprofile 是系统范围的分析器,它作为守护进程运行,默认情况下分析所有系统活动。

【讨论】:

【参考方案2】:

Oprofile 和 Perf 都具有线程感知能力,可以分析多线程应用程序。如果你问他们,他们甚至可以分析内核。

OProfile 是一个分析器(一种可以记录和注释的工具)。它是第一个(如果不是第一个)实际使用硬件性能计数器的分析器。

Perf 是一组分析工具,可帮助您了解应用程序的运行情况(stat、top、record、annotate 等)。它是 Linux 内核项目的一部分(尽管这些工具在用户空间中工作)。它仍在积极开发中,据我所知,API 不时发生巨大变化。

【讨论】:

以上是关于多核和 OProfile的主要内容,如果未能解决你的问题,请参考以下文章

单核和多核,单进程和多进程,单线程与多线程

同构多核和异构多核简单介绍

请问多核CPU还需要超线程技术吗?还有多核CPU的带宽怎样计算?

多核CPU的主频如何计算?

怎么让linux的多核cpu占用在60

CPU双核或者多核的速度怎么算?