2012-07-12 9 views
5

Estoy usando OPROFILE para recopilar algunos datos de rendimiento. pero me metí en un problema.OPROFILE no puede obtener datos de rendimiento

Aquí es mi concha:

~ # rm -f /root/.oprofile/daemonrc 
~ # opcontrol --setup --no-vmlinux 
~ # opcontrol --init 
~ # opcontrol --reset 
~ # opcontrol --start 
~ # opcontrol --status 

Daemon running: pid 14909  
Separate options: none 
vmlinux file: none  
Image filter: none  
Call-graph depth: 0 

~ # opcontrol --shutdown 

Stopping profiling. 
Killing daemon. 

~ # opreport 

error: no sample files found: profile specification too strict? 

~ # tree /var/lib/oprofile/ 

/var/lib/oprofile/ 
├── abi 
├── complete_dump 
├── jitdump 
├── opd_pipe 
└── samples 
    ├── current 
    │ └── stats 
    │  ├── bt_lost_no_mapping 
    │  ├── cpu0 
    │  │ ├── backtrace_aborted 
    │  │ ├── sample_invalid_eip 
    │  │ ├── sample_lost_overflow 
    │  │ └── sample_received 
    │  ├── event_lost_overflow 
    │  ├── multiplex_counter 
    │  ├── sample_lost_no_mapping 
    │  └── sample_lost_no_mm 
    └── oprofiled.log 


5 directories, 13 files 

~ # dmesg |grep oprofile 

oprofile: using NMI interrupt. 


~ # uname -a 

Linux localhost.localdomain 2.6.32-220.4.2.el6.x86_64 #1 SMP Tue Feb 14 04:00:16 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux 

~ # cat /proc/cpuinfo 

processor : 0  
vendor_id : GenuineIntel 
cpu family : 6  
model  : 44  
model name : Intel(R) Xeon(R) CPU   E5620 @ 2.40GHz 
stepping : 2  
cpu MHz  : 2400.085 
cache size : 12288 KB 
fpu  : yes  
fpu_exception : yes  
cpuid level : 11  
wp  : yes 
flags  : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat epb dts  
bogomips : 4800.17  
clflush size : 64 
cache_alignment : 64 
address sizes : 40 bits physical, 48 bits virtual 
power management: 
+0

¿Qué está perfilando en realidad, aunque ? Su script simplemente comienza y luego detiene inmediatamente el generador de perfiles. – alk

+0

Comienzo el oprofile y luego ejecuto mi aplicación (no incluida en mi secuencia de comandos) – Terry

+0

¿Es este RHEL6 (o una distribución derivada como CentOS)? –

Respuesta

0

me encontré con un problema similar en una distribución basada RHEL6. En algún momento, comencé a usar perf con el cual pude obtener informes de perfil y código fuente anotado.

1

Algunos tipos de CPU no proporcionan el hardware support necesario para utilizar los contadores de rendimiento de hardware. En estas máquinas, OProfile recurre al uso del timer interrupt for profiling para volver a usar la interrupción de reloj en tiempo real para recolectar muestras.

puede forzar el uso de la interrupción del temporizador utilizando el parámetro timer = 1 module.If OProfile se construyó como un módulo kernel, entonces debe pasar el parámetro 'timer = 1' con el comando modprobe. Haga esto antes de ejecutar '--init opcontrol' o editar la invocación del comando opcontrol de modprobe para pasar el parámetro 'temporizador = 1'

modprobe oprofile timer=1

Luego continuar su procedimiento de perfiles

Cuestiones relacionadas