2012-07-12 8 views
5

OPROFILEを使用してパフォーマンスデータを収集しています。 しかし、私は悩まされました。ここでOPROFILEがパフォーマンスデータを取得できません

は私のシェルです:

~ # 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

あなたのプロファイリング手順を続行し、パラメータ「= 1タイマー」

modprobe oprofile timer=1

を渡すためのmodprobeのopcontrolコマンドの呼び出しを編集?スクリプトが起動してすぐにプロファイラを停止します。 – alk

+0

私はoprofileを起動し、私のアプリを実行します(私のスクリプトには含まれていません) – Terry

+0

はこのRHEL6です(またはCentOSなどの派生ディストリビューションですか)? –

答えて

0

私はRHEL6ベースのディストリビューションにも同様の問題に遭遇しました。ある時点で、perfを使用してプロファイラレポートと注釈付きソースコードを取得できました。

1

一部のCPUタイプは、ハードウェアパフォーマンスカウンタを使用するために必要なhardware supportを提供しません。 これらのマシンでは、OProfileはtimer interrupt for profilingを使用して戻り、サンプルを収集するためにリアルタイムクロック割り込みを使用します。

タイマ割り込みをtimer = 1モジュールパラメータを使用して強制的に使用することができます.OProfileがカーネルモジュールとして構築されている場合は、modprobeコマンドで 'timer = 1'パラメータを渡す必要があります。 「opcontrol --init」を実行する前にこれを行うか、あなたが実際にかかわらず、プロファイリングされている何

関連する問題