oprofile на Linux работает на виртуальной машине - PullRequest
0 голосов
/ 09 сентября 2010

Я использую виртуальную машину Linux Ubuntu 10.4 с использованием VirtualBox.Я пытаюсь использовать 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 на виртуальной машине?

Спасибо

Ответы [ 5 ]

0 голосов
/ 12 марта 2016

использование HPC (аппаратных счетчиков производительности) требует аппаратной поддержки, попробуйте установить cpuid в vbox, вы увидите

 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

0 голосов
/ 12 ноября 2014

Вы можете попробовать установить более старые версии, такие как oprofile-0.9.7

распакуйте его куда угодно, затем выполните шаги:

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

Затем попробуйте использовать его, он работает нормально, вы можете включить виртуальные счетчики ЦП в VMWARE и отключить регистры nmi_watchdog в linux, так как они могут использоваться другими профилировщиками.

0 голосов
/ 11 сентября 2010

Эта ошибка:

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

обычно означает, что вы пытаетесь выполнить двоичный файл x86_64 в 32-разрядном ядре.

Что означают file usr/local/bin/ophelp и uname -aпечать

0 голосов
/ 10 мая 2011

Пару лет назад у меня возникли проблемы с запуском oprofile внутри vmware.Я написал свой небольшой опыт на этом посту http://blogs.epfl.ch/category/3239

0 голосов
/ 09 сентября 2010

Я пробовал нечто подобное в прошлом, только с VMware Fusion и другим профилировщиком, и столкнулся с той же проблемой.Кажется, что доступ к регистрам производительности и другим вещам низкого уровня, которые нужны профилировщикам, просто невозможен в виртуальной машине.Боюсь, вам понадобится настоящая машина для профилирования.

...