0

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

opcontrol --start
/usr/local/bin/opcontrol: line 323: /usr/local/bin/ophelp: cannot execute binary file
/usr/local/bin/opcontrol: line 1483: /usr/local/bin/oprofiled: cannot execute binary file
Couldn't start oprofiled.
Check the log file "/var/lib/oprofile/samples/oprofiled.log" and kernel syslog

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

opcontrol --deinit
/usr/local/bin/opcontrol: line 323: /usr/local/bin/ophelp: cannot execute binary file
Unloading oprofile module
root@dev-ubuntu-10:/usr/local/bin# /sbin/modprobe oprofile timer=1
root@dev-ubuntu-10:/usr/local/bin# opcontrol --init

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

谢谢

4

5 回答 5

0

我过去曾尝试过类似的事情,只是使用 VMware Fusion 和不同的分析器,但遇到了同样的问题。似乎访问性能寄存器和探查器所需的其他低级内容在 VM 中是不可行的。恐怕你需要一台真正的机器来进行分析。

于 2010-09-09T10:52:36.497 回答
0

这个错误:

/usr/local/bin/ophelp: cannot execute binary file

通常意味着您正在尝试x86_64在 32 位内核上执行二进制文件。

做什么file usr/local/bin/ophelpuname -a打印?

于 2010-09-11T16:07:12.410 回答
0

几年前,我在 vmware 中运行 oprofile 时遇到了一些问题。我在这篇文章上写了我的小经验http://blogs.epfl.ch/category/3239

于 2011-05-10T00:38:23.503 回答
0

您可以尝试安装旧版本,如oprofile-0.9.7

将其提取到任何地方,然后按照以下步骤操作:

install it by >  1 ./configure 2. make 3. make install

然后尝试使用它工作正常,您可能希望在 VMWARE 中打开虚拟 CPU 计数器并在 linux 中禁用 nmi_watchdog 寄存器,因为它们可能会被其他分析器使用。

于 2014-11-12T12:07:37.440 回答
0

使用HPC(硬件性能计数器)需要硬件支持,尝试在vbox中安装cpuid,你会看到

 Architecture Performance Monitoring Features (0xa/ebx):
  core cycle event not available           = false
  instruction retired event not available  = false
  reference cycles event not available     = false
  last-level cache ref event not available = false
  last-level cache miss event not avail    = false
  branch inst retired event not available  = false
  branch mispred retired event not avail   = false

架构性能监控功能 (0xa/edx):固定计数器的数量 = 0x0 (0) 固定计数器的位宽 = 0x0 (0)

似乎只有 Vmware 和 KVM 可以模拟 PMU 单元,而不是 VBOX

于 2016-03-12T09:27:00.810 回答