如何使用perf進行程式分析

2022-07-02 23:39:10 字數 1111 閱讀 1745

1.安裝。

sudo apt-get install linux-tools

如果提示沒有可安裝候選。請輸入:

sudo apt-get install linux-perf-version

其中version為你需要的版本。最好與核心版本相同。

安裝完成後輸入

perf top

如可以執行,則安裝成功。

注意,如果提示

「e: linux-perf-x.x is not installed.」

是因為你的linux核心版本與perf版本不一致,輸入

perf_

後按tab鍵,通過自動補全補上對應的版本號就行。

需要注意的是,如果需要徹底解決核心版本與perf版本不一致的問題(在qt中使用會檢測不到perf),或者有潔癖。那麼:

chmod 777 /usr/bin/perf

vim /usr/bin/perf

找到

shopt -s execfail

exec

"perf_$version""

$@"

修改為

shopt -s execfail

version=5.3

exec

"perf_$version""

$@"

這裡的version=5.3是因為我的linux核心版本為5.3,替換為你的核心版本即可。

2.分析

假設你在當前目錄下有乙個名為test的可執行檔案需要分析。那麼

perf stat -e cpu-clock ./test

會返回乙個頁面展示經過的cpu時鐘數和時間。

假如你需要記錄並分析cpu時鐘和page fault

perf record -e cpu-clock,faults ./test

通過增加和替換引數即可指定需要記錄和分析的選項。

3.檢視報告

perf report

通過上下鍵和回車選擇對應的分析選項並進入檢視。

未完待續

golang 使用gops進行程式監控

go install github.com google gops請放到系統環境變數裡面 如果執行install正常來說應該生成在 gopath bin 下面 看到官方給了乙個測試例子 這玩意,一開始也不知道幹嘛的。後面發現如果不起這個程式的話。找不到對應的 程式日誌 執行 gops 檢視當前執行的...

Linux使用指令碼進行程式打包

linux下打包軟體,該方法實際上是將鏈結庫放在一起,然後直接執行可執行檔案,不會運用到打包軟體,直接使用指令碼。gedit pack.sh bin sh exe turframe 可執行檔名 des home turing adt package 可執行檔案路徑 deslist ldd exe a...

使用wifi連線eclipse進行程式除錯

天貓內部優惠券 有的時候,我們限於種種原因,無法使用usb來連線裝置進行除錯,此時,可以通過wifi連線來進行。首先開啟手機的wifi設定,使其連線到網路。然後,需要在手機上對adb連線埠進行設 置,這裡需要有root許可權的終端 terminal 應用,這種型別的應用在各個market都有不少,選...