通過CentOS的cpustat
優化系統調度需結合監控分析與系統調優,核心步驟如下:
sudo yum install sysstat # 包含cpustat
cpustat -u 1 # 每秒刷新,顯示用戶態、系統態、空閑等指標
%usr
(用戶態占用)、%sys
(內核態占用)、%iowait
(I/O等待),判斷瓶頸類型。cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
taskset -c 0,1 <PID> # 將進程綁定到CPU 0和1,減少上下文切換
nice -n -10 <command> # 提高進程優先級(數值越小優先級越高)
renice -n -10 -p <PID> # 修改已運行進程的優先級
chrt -f 99 <command> # 實時調度策略(FIFO),僅適用于關鍵任務
sysctl vm.swappiness=10 # 降低交換傾向,減少I/O開銷
echo "vm.swappiness=10" >> /etc/sysctl.conf # 永久生效
echo deadline > /sys/block/sda/queue/scheduler # 適用于機械硬盤,減少延遲
cpustat
輸出,便于趨勢分析。top
、vmstat
確認優化效果,例如%iowait
下降或CPU利用率更均衡。注意:優化前需在測試環境驗證,避免影響生產系統穩定性。實時性要求高的場景建議優先使用實時調度策略,計算密集型任務可通過綁定CPU核心和調整優先級提升效率。