- 每秒鐘觸發 250 次時間中斷
-
grep 'CONFIG_HZ=' /boot/config-$(uname -r)
-
CONFIG_HZ=250 #代表每秒250次中斷
-
uname -r #輸出內核版本號
-
-
-
只保留各個 CPU 的數據
-
cat /proc/stat | grep ^cpu
-
-
默認每 3 秒刷新一次
-
top
-
只需要按下數字 1 ,就可以切換到每個 CPU 的使用率了
-
-
-
GDB 調試程序的過程會中斷程序運行,這在線上環境往往是不允許的。
-
所以,GDB 只適合用在性能分析的後期,當你找到了出問題的大致函數後,線下再借助它來進一步調試函數內部的問題。
-
-
perf 是 Linux 2.6.31 以後內置的性能分析工具
-
安裝perf
-
apt install linux-tools-common
-
apt install linux-tools-4.15.0-128-generic
-
apt install linux-cloud-tools-4.15.0-128-generic
-
-
-
perf top
-
第一列 Overhead ,是該符號的性能事件在所有采樣中的比例,用百分比來表示。
-
第二列 Shared ,是該函數或指令所在的動態共享對象(Dynamic Shared Object),如內核、進程名、動態鏈接庫名、內核模塊名等。
-
第三列 Object ,是動態共享對象的類型。比如 [.] 表示用戶空間的可執行程序、或者動態鏈接庫,而 [k] 則表示內核空間。
-
最後一列 Symbol 是符號名,也就是函數名。當函數名未知時,用十六進制的地址來表示
-
-
perf record 和 perf report
-
https://github.com/feiskyer/linux-perf-examples/blob/master/nginx-high-cpu/README.md
-
# 併發 10 個請求測試 Nginx 性能,總共測試 100 個請求
-
ab -c 10 -n 100 http://10.241.132.213:10000/
-
-
# -g 開啓調用關係分析,-p 指定 php-fpm 的進程號 21515
-
perf top -g -p 21515
-
CPU 使用率
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.