簡體   English   中英

perf profiler結果

[英]perf profiler result

我是新來的,

嘗試了解結果,但如何閱讀這樣的東西?

 39.57%  TestSoft.exe  libc-2.15.so         [.] 0x3fd59
  7.04%  TestSoft.exe  libc-2.15.so         [.] malloc
  6.15%  TestSoft.exe  LoanSoft.exe         [.] LoanDef::update_vec()

第一行可能是libc中的一些函數,但是它的功能是什么? 0x3fd59是什么意思? 另外,對於第二行,我的代碼中的哪個函數調用malloc? 對於第三行,我可以進一步對該函數執行perf只是為了查看update_vec()的哪個部分很慢?

非常感謝!

您需要使用調試符號進行構建(在編譯時將-g選項傳遞給g ++)。 然后,您將能夠看到哪個函數使用該CPU時間。 您還需要使用帶有調試符號的庫。

由於轉儲是來自用戶模式的所有功能,因此建議使用調試符號編譯.x3fd59是一個例程,由於缺少符號,其實際名稱不可用。
請參閱此處在源級別進行分析。

 39.57%  TestSoft.exe  libc-2.15.so         [.] 0x3fd59
  7.04%  TestSoft.exe  libc-2.15.so         [.] malloc
  6.15%  TestSoft.exe  LoanSoft.exe         [.] LoanDef::update_vec()

首先表示在相應功能中收集的總樣本的百分比。

第二欄報告了收集樣品的過程。

第三列顯示樣本來自的ELF圖像的名稱。 如果程序是動態鏈接的,那么這可能會顯示共享庫的名稱。 當樣本來自內核時,則使用偽ELF圖像名稱[kernel.kallsyms]。

第四列表示采樣的特權級別,即程序在中斷時運行的時間:

   [.] : user level
   [k]: kernel level
   [g]: guest kernel level (virtualization)
   [u]: guest os user space
   [H]: hypervisor

最后一列顯示符號名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM