Linux 性能分析工具總結

介紹下日常開發使用的分析工具,如有新的,請在評論中指出。

一. gprof,打印出程序運行中各個函數消耗的時間,可以幫助程序員找出衆多函數中耗時最多的函數。使用過程簡單,只需三個步驟。

  1. 使用-pg編譯、鏈接選項開啓分析功能。
  2. 執行程序,會在當前目錄生成gmon.out文件。
  3. 使用gprof處理gmon.out得到分析文件。

例子:

//使用-pg選項編譯、鏈接
gcc -o gprofTest gprofTest.c -pg

//執行程序會在本地生成gmon.out文件
./gprofTest

//使用gprof處理gmon.out文件得到分析文件
//gprof有一些參數選項,可以控制生成的分析文件格式。
gprof gprofTest gmon.out > analysis.txt



gprof得到的analysis.txt分析文件,從中可以看到程序耗時、函數耗時、函數調用關係、函數調用次數等信息。對於程序的優化幫助很大。

注意事項:

1. 系統調用函數無法監控。

2. 非-pg編譯的共享庫也無法監控。

 

二. 使用time命令,Linux提供time命令,可以得到程序執行的時間,包括總時間、用戶態時間以及系統調用時間。不過,得到的信息略顯粗糙,只提供一個大概的情況,對於具體的函數調用得不到分析。

 

參考連接。

1. GNU gprof 

2. C/C++性能測試工具 GNU gprof

3. GProf去優化C+居然可以做到如此完美真是天一對難兄難弟

=============================================================================================

Linux應用程序、內核、驅動、後臺開發交流討論羣(745510310),感興趣的同學可以加羣討論、交流、資料查找等,前進的道路上,你不是一個人奧^_^。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章