[英]How to profile program on Linux platform without rebuilding?
我已經使用了兩個分析工具(Solaris上的VTune和Solaris上的dbx(在sunstudio中)),它可以在不重建它們的情況下對程序進行分析,在分析過程中,程序只能以與正常相同的速度運行。 這兩個功能都為我節省了很多時間。
現在我想知道Linux平台上是否有一些免費工具可以做同樣的事情。 我想我需要基於抽樣的分析工具。 VTune很好但價格昂貴......我聽說過gprof和valgrind。 但似乎gprof需要對程序進行檢測(因此我們必須重建程序)並且valgrind將會大大減慢程序執行速度。 (來自valgrind的介紹,Cachegrind運行程序比正常情況慢20到100倍,而我需要分析的Callgrind基於Cachegrind)
對於分析,我只需要弄清楚函數調用的執行時間,這樣我就可以找出性能下降的位置。 實際上我不需要很多低級分析信息,因為Cachegrind提供了......
oprofile非常好,但設置起來可能很困難。 它也不需要您重建您的程序。
Linux的性能計數器是一個可用於內核2.6.31及更高版本的新工具; 與valgrind或OProfile相比,它對程序和整個系統的侵擾性較小。
Zoom是一個比oprofile更好的選擇。 它與Mac OS X上的Shark類似,如果您曾經使用過它。 這是商業(199美元),但您可以從www.rotateright.com獲得免費試用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.