簡體   English   中英

用性能記錄分析linux應用程序

[英]profiling linux application with perf record

我一直在嘗試通過在perf record上關注這篇文章來分析Linux中的C ++應用程序。 我的理解是,我需要做的是運行性能perf record program [program_options] ,其中program是程序可執行文件,而[program options]是我想要傳遞給程序的參數。 但是,當我嘗試像這樣配置我的應用程序時:

perf record ./csvJsonTransducer -enable-AVX-deletion test.csv testout.json

perf幾乎立即返回報告。 但是,在沒有perf的情況下運行./csvJsonTransducer -enable-AVX-deletion test.csv testout.json大約需要30秒,我想讓perf監視程序的整個執行過程,而不是立即返回。 為何perf回報如此之快? 如何考慮程序的整個運行過程?

您的命令似乎沒問題。 嘗試在/proc/sys/kernel/perf_event_paranoid更改偏執級別。 將此參數設置為-1(作為root用戶)應該可以解決權限問題:

echo "-1" > /proc/sys/kernel/perf_event_paranoid

您也可以嘗試使用perf record設置要監視的事件。 默認事件是cycles (如果支持)。 檢查man perf-list

嘗試命令:

perf record -e cycles ./csvJsonTransducer -enable-AVX-deletion test.csv testout.json

強制監視周期。

暫無
暫無

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

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