问题标签 [oprofile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3277 浏览

linux - 是否有任何类似的 Linux 工具可以像 Mac OS X 上的 Shark 一样工作?

Mac OS X 上的Shark是一个很好的工具,用于分析正在运行的系统上的应用程序。Linux 有没有类似的工具?

OProfile看起来可以,有人用过吗?

0 投票
2 回答
2201 浏览

c - 从 oprofile 获得最有用的输出的最佳方法是什么?

使用以下工具:

  • 报告
  • 操作控制
  • 注释

我开始使用这个工具,并试图找到最佳组合、示例以充分利用分析。

谢谢

0 投票
1 回答
5389 浏览

profiling - 哪个分析器更准确:OProfile 还是 Google 性能工具?

我找到了两个很棒的分析器:

有没有人试过他们两个?哪个更好?

0 投票
2 回答
5098 浏览

android - 安卓上的OProfile

有没有人在 android 上使用过 OProfile 工具...如果您能够配置文件,请提供基本步骤和任何其他配置或设置以执行此操作...

问候, 巴拉特帕瓦尔

0 投票
5 回答
4972 浏览

c++ - 基于 Linux 时间样本的分析器

精简版:

Linux 是否有一个好的基于时间的采样分析器?

长版:

我通常使用OProfile来优化我的应用程序。我最近发现了一个让我感到疑惑的缺点。

问题是一个紧密的循环,产生了 c++filt 来破坏 c++ 名称。我只是在寻找另一个瓶颈时偶然发现了代码。OProfile 没有显示代码有任何异常,所以我几乎忽略了它,但我的代码意识告诉我优化调用并查看发生了什么。我将popenc++filt 更改为abi::__cxa_demangle. 运行时间从一分钟多到一秒多一点。大约 x60 加速。

有没有办法我可以配置 OProfile 来标记popen呼叫?由于配置文件数据现在存在,OProfile 认为瓶颈是堆和std::string调用(顺便说一句,它曾经优化过将运行时间降低到不到一秒,超过 2 倍加速)。

这是我的 OProfile 配置:

是否有另一个 Linux 分析器可以找到瓶颈?

我怀疑问题在于 OProfile 仅将其样本记录到当前运行的进程中。我希望它始终将其样本记录到我正在分析的过程中。因此,如果进程当前被切换(阻塞 IO 或popen调用),OProfile 只会将其样本放在被阻塞的调用中。

如果我不能解决这个问题,OProfile 只有在可执行文件接近 100% CPU 时才有用。对于阻塞调用效率低下的可执行文件,它无济于事。

0 投票
3 回答
707 浏览

performance - 测量选定循环的执行时间

我想测量 C 程序中选定循环的运行时间,以便查看在这些循环中花费了执行程序(在 linux 上)的总时间的百分比。我应该能够指定应该测量性能的循环。在过去的几天里,我尝试了几种工具(vtune、hpctoolkit、oprofile),但似乎都没有。他们都发现了性能瓶颈,并只是展示了那些时间。那是因为这些工具只存储高于阈值(~1ms)的时间。因此,如果一个循环花费的时间少于此时间,则不会报告其执行时间。

gprof 的基本块计数功能取决于旧编译器中现在不支持的功能。

我可以手动编写一个简单的计时器使用gettimeofday或类似的东西,但在某些情况下它不会给出准确的结果。例如:

现在在这里我想测量花费在内部循环中的总时间,我必须gettimeofday在第一个循环中调用。所以gettimeofday它自己会被调用 1000 次,这会引入自己的开销,结果会不准确。

0 投票
1 回答
3783 浏览

performance - oprofile 无法生成调用图

我正在尝试使用 oprofile 来生成调用图。编译器是g++,平台是linux x86-64,链接器是gfortran

C++ 代码使用 -fno-omit-frame-pointer 编译。oprofile 以 --callgraph=25 开头。报告我使用 --callgraph 运行。

调用图已生成,但它只包括自我时间,没有多大用处

我错过了什么?

0 投票
1 回答
417 浏览

linux - Oprofile中的基本疑问

我正在尝试使用 oprofile 分析我的软件(在 Linux 中)。我的软件由用户空间和内核模块组成。首先我的疑问是 --separate=kernel 选项有什么作用?没有该选项运行时会有什么区别?我确实试图看到它,但找不到任何区别。你能举个例子吗?

我不能在没有 --seperate=kernel 选项的情况下分析内核模块吗?

谢谢,巴拉

0 投票
0 回答
809 浏览

profiling - oprofile 无法在 ARM 上生成调用图

这实际上是这个 SO question 的完全重复,不幸的是没有任何答案。是否有可能在 ARM 上获得正确的调用图?我在没有性能计数器的 ARM926 上使用 oprofile 0.9.6,因此 oprofile 默认使用定时器中断,我设置了 --callgraph 选项,并且我的应用程序使用正确的标志编译。我不是在尝试分析内核,但我想知道是否必须在启用“framepointer”的情况下编译内核才能从我的应用程序中获得正确的调用图。

谢谢

0 投票
5 回答
3936 浏览

profiling - 在虚拟机中运行的 Linux 上的 oprofile

我正在使用 VirtualBox 运行 Linux Ubuntu 10.4 VM。我正在尝试使用 oprofile 来分析虚拟机中的某些应用程序。我已经安装了 oprofile 0.9.6,但我无法让它工作。当我尝试启动时,出现以下错误:

因为我不确定VirtualBox是否可以提供对性能计数器的访问(我在这里有疑问,所以如果你有任何指针那就太好了)我将oprofile默认为定时器中断,如下所示:

但仍然无法正常工作,我遇到了同样的错误。甚至可以在虚拟机中运行 oprofile 吗?

谢谢