2014-01-16 29 views
9

我在ubuntu 11.10上使用perf 3.0.4。它的記錄命令效果很好,並顯示收集的256個終端樣本。但是,當我使用PERF報告,它給了我下面的錯誤:perf.data文件沒有樣本

perf.data file has no samples 

我搜索了很多的解決方案,但沒有成功呢。

+0

請給我們你用來記錄事件的命令。 –

+0

你解決了你的問題? –

回答

4

perf record命令報告的樣本數是一個近似值,而不是正確的事件數(see perf wiki here)。

要獲得事件的準確數量,轉儲的原始文件,並使用wc -l數則顯示件數:

perf report -D -i perf.data | grep RECORD_SAMPLE | wc -l

其中perf report說,它無法找到事件這個命令應該在你的情況彙報0 。

讓我們知道更多關於如何使用perf記錄的信息,哪些事件是你抽樣的,哪個硬件,哪個程序。

編輯:你可以嘗試先增加採樣週期或頻率與-c-F選項

5

這個討論有一些有用的信息:http://www.spinics.net/lists/linux-perf-users/msg01436.html

看來,如果你是在一個虛擬機運行不會將PMU暴露給來賓,默認集合(-e cycles)將不起作用。嘗試使用-e cpu-clock運行。根據該線程,OP在運行Ubuntu 10.04的實際主機中也有同樣的問題,所以它也可能爲您解決它...

+0

謝謝!這幫助我解決了使用flamegraphs(依賴於perf)的問題。希望我提到火焰圖這個評論將幫助其他人找到這個話題。 –