5

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:
4

2 に答える 2

1

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

timer=1 モジュール パラメーターを使用してタイマー割り込みを強制的に使用できます。OProfile がカーネル モジュールとしてビルドされている場合は、modprobe コマンドで「timer=1」パラメーターを渡す必要があります。「opcontrol --init」を実行する前にこれを行うか、「timer=1」パラメーターを渡すように opcontrol コマンドの modprobe の呼び出しを編集します。

modprobe oprofile timer=1

次に、プロファイリング手順を続行します

于 2013-09-03T10:26:48.443 に答える
0

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

于 2013-07-11T13:53:38.763 に答える