在 Ubuntu 系統下安裝和使用性能分析工具 perf
的步驟如下:
1. 安裝 perf
perf
是 Linux 內核的一部分,通常通過安裝 linux-tools
包獲取:
# 更新軟件包列表
sudo apt update# 安裝 perf(根據當前內核版本自動匹配)
sudo apt install linux-tools-common linux-tools-generic linux-tools-$(uname -r)
- 如果提示
linux-tools-$(uname -r)
不可用,可能是你的內核版本較新或未更新。可以嘗試:sudo apt install linux-tools-generic
2. 驗證安裝
perf --version
如果正常輸出版本信息(如 perf version 5.15.0
),則安裝成功。
3. 解決常見問題
問題1:找不到 perf
命令
- 原因:內核版本與工具包不匹配。
- 解決:
# 查看當前內核版本 uname -r# 安裝對應版本的工具包(替換為你的內核版本,例如 5.15.0-76-generic) sudo apt install linux-tools-5.15.0-76-generic
問題2:權限不足
運行 perf
需要 root 權限或調整 /proc/sys/kernel/perf_event_paranoid
:
# 臨時降低安全限制(允許普通用戶使用 perf)
sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'# 或直接以 root 運行
sudo perf stat ls
4. 基本用法示例
統計命令執行性能
perf stat ls
采樣 CPU 使用情況
# 采樣 5 秒內 CPU 熱點
perf record -F 99 -a -g -- sleep 5
perf report
查看函數調用圖
perf top -g
5. 高級功能
-
火焰圖生成:
- 安裝依賴:
sudo apt install git flamegraph
- 使用腳本生成火焰圖:
git clone https://github.com/brendangregg/FlameGraph perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > output.svg
- 安裝依賴:
-
監控特定進程:
perf top -p <PID>
6. 卸載 perf
sudo apt remove linux-tools-$(uname -r) linux-tools-generic
通過以上步驟,你可以在 Ubuntu 上順利安裝并使用 perf
進行性能分析。如果需要更詳細的功能(如硬件事件監控),可能需要內核調試符號包(linux-image-dbg
)。