一、安裝與準備:確保cpustat可用
cpustat是sysstat工具包的一部分,在Debian系統中需先安裝sysstat才能使用。通過以下命令完成安裝:
sudo apt update && sudo apt install sysstat
安裝完成后,sysstat服務會自動啟動(若未啟動,可通過sudo systemctl start sysstat
手動啟動),用于收集系統性能數據。
二、基本運行:獲取CPU使用數據
cpustat的核心功能是實時監控CPU使用情況,常用命令如下:
cpustat -u 1
輸出包含%usr
(用戶空間占比)、%sys
(內核空間占比)、%idle
(空閑率)等關鍵指標。cpustat -p ALL
可識別多核CPU中是否存在負載不均衡(如某核心利用率遠高于其他核心)。cpustat -i 2 5 > cpu_usage.log
表示每2秒采集一次,共采集5次,結果保存到cpu_usage.log
。三、分析輸出:識別性能瓶頸
通過cpustat的輸出數據,可定位Debian應用的性能瓶頸,重點關注以下指標:
四、優化措施:針對性解決問題
根據cpustat識別的瓶頸,采取以下優化手段:
%usr
高的問題,可通過以下方式改進:
multiprocessing
模塊、Java的線程池)。%sys
或%iowait
高的問題:
ionice
調整應用進程的I/O優先級(如ionice -c 2 -n 7 your_command
,將I/O優先級設為“空閑”),或更換為SSD存儲;sysctl
優化TCP棧(如增大net.core.somaxconn
連接隊列長度、調整net.ipv4.tcp_tw_reuse
復用TIME-WAIT連接),減少網絡延遲;%usr
或%sys
仍持續高位,且業務增長需要,可升級CPU(增加核心數或換用更高主頻的處理器)、增加內存(減少磁盤交換)。五、持續監控:確保優化效果
性能優化是長期過程,需持續使用cpustat監控系統狀態:
0 * * * * /usr/bin/cpustat -u 1 > /var/log/cpu_hourly.log
)。top
查看實時進程CPU占用、vmstat
監控內存和I/O、perf
進行深度性能分析(如函數級熱點分析),綜合判斷優化效果。