安裝與基礎監控
安裝sysstat包(含cpustat):
sudo yum install sysstat # CentOS 7及之前
sudo dnf install sysstat # CentOS 8及之后
實時監控CPU使用情況:
cpustat # 顯示整體CPU使用率、上下文切換等核心指標
分析性能瓶頸
-p
參數定位高CPU進程:cpustat -p <PID> # 查看特定進程CPU占用
top/htop
確認進程優先級和資源占用情況。優化CPU調度與資源分配
echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sudo cpulimit -l 50 -p <PID> # 需先安裝cpulimit
taskset -c 0,1 <PID> # 綁定到CPU 0和1
調整內核參數
sudo sysctl vm.swappiness=10 # 臨時生效
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效
定期數據采集與分析
使用cron定時任務定期輸出CPU數據:
# 每5分鐘采集一次并保存到文件
*/5 * * * * cpustat -i 60 -c > /var/log/cpu_usage_$(date +\%Y\%m\%d\%H\%M\%S).log
注意事項:優化前建議在測試環境驗證,避免影響生產系統穩定性。若需更詳細分析,可結合perf
等工具定位內核級瓶頸。