linux性能分析

cpu性能分析
mpstat -P ALL 5    #多核cpu性能分析工具
pidstat -u 5 1     #進(jìn)程性能分析工具,cpu、內(nèi)存、I/O,上下文切換
系統(tǒng)cpu升高--程上下文切換、線程上下文切換和中斷上下文切換
自愿上下文切換變多了,說明進(jìn)程都在等待資源,有可能發(fā)生了 I/O 等其他問題;
非自愿上下文切換變多了,說明進(jìn)程都在被強(qiáng)制調(diào)度,也就是都在爭(zhēng)搶 CPU,說明 CPU 的確成了瓶頸;
中斷次數(shù)變多了,說明 CPU 被中斷處理程序占用,還需要通過查看 /proc/interrupts 文件來分析具體的中斷類型。
vmstat 5       #cs、in、r、b
pidstat -w 5   #cswch、nvcswch
pidstat -w -u 1 #-w參數(shù)表示輸出進(jìn)程切換指標(biāo),而-u參數(shù)則表示輸出CPU使用指標(biāo)
pidstat -wt 1   #-wt 參數(shù)表示輸出線程的上下文切換指標(biāo)$ pidstat -wt 1
cat /proc/interrupts  #分析中斷
1、某個(gè)應(yīng)用cpu使用率高
perf top
perf record #記錄性能事件
perf report # 展示類似于perf top的報(bào)告
perf top -g -p 21515   #-g開啟調(diào)用關(guān)系分析,-p指進(jìn)程號(hào)
2、系統(tǒng)cpu使用率高  #進(jìn)程用戶態(tài)和內(nèi)核態(tài)的運(yùn)行,還包括中斷處理、等待 I/O 以及內(nèi)核線程等
pstree #樹狀形式顯示所有進(jìn)程之間的關(guān)系:
3、iowait 升高
dstat 1 10 #觀察系統(tǒng)的 CPU、磁盤 I/O、網(wǎng)絡(luò)以及內(nèi)存使用情況
pidstat -d -p 4344 1 3   # -d 展示 I/O 統(tǒng)計(jì)數(shù)據(jù),-p 指定進(jìn)程號(hào),間隔 1 秒輸出 3 組數(shù)據(jù)
pidstat -d 1 20 #觀察所有進(jìn)程的 I/O 使用情況
strace -p 6082   #跟蹤進(jìn)程系統(tǒng)調(diào)用,查看磁盤訪問函數(shù)
4、僵尸進(jìn)程--找出父進(jìn)程
pstree -aps 3084 #-a 表示輸出命令行選項(xiàng) p表PID s表示指定進(jìn)程的父進(jìn)程
5、中斷處理程序
上半部對(duì)應(yīng)--硬中斷 /proc/interrupts  
下半部對(duì)應(yīng)--軟中斷 /proc/softirqs 軟中斷包括網(wǎng)絡(luò)收發(fā)、定時(shí)、調(diào)度、RCU 鎖等各種類型
當(dāng)軟中斷事件的頻率過高時(shí),內(nèi)核線程也會(huì)因?yàn)?CPU 使用率過高而導(dǎo)致軟中斷處理不及時(shí),進(jìn)而引發(fā)網(wǎng)絡(luò)收發(fā)延遲、調(diào)度緩慢等性能問題。
sar 是一個(gè)系統(tǒng)活動(dòng)報(bào)告工具,既可以實(shí)時(shí)查看系統(tǒng)的當(dāng)前活動(dòng),又可以配置保存和報(bào)告歷史統(tǒng)計(jì)數(shù)據(jù)。
tcpdump 是一個(gè)常用的網(wǎng)絡(luò)抓包工具,常用來分析各種網(wǎng)絡(luò)問題。
watch -d cat /proc/softirqs  #發(fā)現(xiàn), TIMER(定時(shí)中斷)、NET_RX(網(wǎng)絡(luò)接收)、SCHED(內(nèi)核調(diào)度)、RCU(RCU 鎖)等這幾個(gè)軟中斷都在不停變化。
sar -n DEV 1 #-n DEV 表示顯示網(wǎng)絡(luò)收發(fā)的報(bào)告,間隔1秒輸出一組數(shù)據(jù) 查看系統(tǒng)的網(wǎng)路收發(fā)情況
# -i eth0 只抓取eth0網(wǎng)卡,-n不解析協(xié)議名和主機(jī)名# tcp port 80表示只抓取tcp協(xié)議并且端口號(hào)為80的網(wǎng)絡(luò)幀
tcpdump -i eth0 -n tcp port 80

image.png

第一個(gè)維度,從 CPU 的性能指標(biāo)出發(fā)


image.png

第二個(gè)維度,從工具出發(fā)


image.png

迅速分析 CPU 的性能瓶頸
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容