2010-09-09 17 views
0

Je cours une machine virtuelle Linux Ubuntu 10.4 en utilisant VirtualBox. J'essaie d'utiliser oprofile pour profiler certaines applications dans la machine virtuelle. J'ai installé oprofile 0.9.6 mais je n'arrive pas à le faire fonctionner. Lorsque je tente de commencer, je reçois l'erreur suivante:oprofile sur Linux s'exécutant sur une machine virtuelle

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 

Comme je ne sais pas si VirtualBox pourrait fournir un accès aux compteurs de performance (je suis dans le doute ici, donc si vous avez des pointeurs ce serait génial) Je DEFAILLANTE oprofile à l'interruption de la minuterie comme ceci:

opcontrol --deinit 
/usr/local/bin/opcontrol: line 323: /usr/local/bin/ophelp: cannot execute binary file 
Unloading oprofile module 
[email protected]:/usr/local/bin# /sbin/modprobe oprofile timer=1 
[email protected]:/usr/local/bin# opcontrol --init 

Mais ne fonctionne toujours pas et je reçois la même erreur. Est-il même possible d'exécuter oprofile dans une machine virtuelle?

Merci

Répondre

0

J'ai essayé quelque chose de similaire dans le passé, seulement avec VMware Fusion et un profileur différent, et courir dans le même problème. Il semble que l'accès aux registres de performance et autres choses de bas niveau dont les profileurs ont besoin n'est tout simplement pas réalisable dans une machine virtuelle. Tu as besoin d'une vraie machine pour le profilage, j'en ai peur.

+0

Je comptais ne pas avoir accès aux compteurs de performance, mais je tu Au moins, l'interruption de la minuterie devrait être disponible pour le système "virtualisé". – celavek

0

Cette erreur:

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

signifie généralement que vous tentez d'exécuter un x86_64 binaire sur un noyau 32 bits.

Que signifient file usr/local/bin/ophelp et uname -a?

0

Il y a quelques années, j'ai eu quelques problèmes pour lancer oprofile dans vmware. J'ai écrit ma petite expérience sur ce post http://blogs.epfl.ch/category/3239

+0

Donc, dans votre solution, il n'y a pas de compteurs de matériel disponibles pour le système invité? Et la minuterie du système a été utilisée pour générer périodiquement des événements d'échantillonnage. – osgx

+0

correct, le vm filtre ces registres. Je ne pense pas que ce soit une chose facile à faire (à savoir, multiplexer ces registres). – Tralamazza

0

Vous pouvez essayer d'installer des versions plus anciennes comme oprofile-0.9.7

extraire partout puis suivez les étapes:

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

Ensuite, essayez de l'utiliser, il fonctionne très bien, vous voudrez peut-être Activez les compteurs de CPU virtuels dans VMWARE et désactivez les registres nmi_watchdog dans linux car ils peuvent être utilisés par d'autres profileurs.

0

utilisation du HPC (compteur de performance du matériel) nécessite Supprot matériel, essayez d'installer cpuid dans Vbox, vous verrez

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 

architecture Caractéristiques de contrôle des performances (0xa/EDX): nombre de compteurs fixes = 0x0 (0) largeur de bit des compteurs fixes = 0x0 (0)

Il semble que tout Vmware et KVM peuvent imiter l'unité PMU, et non la VBOX