2012-07-12 26 views
5

Tôi đang sử dụng OPROFILE để thu thập một số dữ liệu hiệu suất. nhưng tôi gặp rắc rối.OPROFILE không thể nhận dữ liệu hiệu suất

Đây là vỏ của tôi:

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

gì là bạn thực sự profiling dù ? Kịch bản của bạn chỉ mới bắt đầu và sau đó ngay lập tức dừng profiler. – alk

+0

tôi bắt đầu mở trang sau đó chạy ứng dụng của tôi (không bao gồm trong tập lệnh của tôi) – Terry

+0

là RHEL6 này (hoặc một bản phân phối có nguồn gốc như CentOS)? –

Trả lời

0

Tôi chạy vào một vấn đề tương tự trên một bản phân phối RHEL6 dựa. Tại một số thời điểm, tôi bắt đầu sử dụng perf mà tôi đã có thể nhận được báo cáo hồ sơ và mã nguồn được chú thích.

1

Một số loại CPU không cung cấp hardware support cần thiết để sử dụng bộ đếm hiệu năng phần cứng. Trên các máy này, OProfile rơi trở lại sử dụng timer interrupt for profiling, quay lại sử dụng ngắt đồng hồ thời gian thực để thu thập mẫu.

bạn có thể buộc sử dụng ngắt hẹn giờ bằng cách sử dụng tham số timer = 1 module.Nếu OProfile được xây dựng làm mô-đun hạt nhân, thì bạn phải chuyển tham số 'timer = 1' bằng lệnh modprobe. Làm điều này trước khi thực hiện 'opcontrol --init' hoặc chỉnh sửa gọi lệnh opcontrol của modprobe để vượt qua 'timer = 1' tham số

modprobe oprofile timer=1

Sau đó, tiếp tục thủ tục hồ sơ của bạn

Các vấn đề liên quan