使用 cpustat
優化 CentOS 系統配置的步驟如下:
安裝工具:
sudo yum install sysstat # CentOS 7及以下
sudo dnf install sysstat # CentOS 8及以上
監控CPU使用情況:
cpustat
cpustat -i 5 -c 10
cpustat -i 5 -c 10 > cpu_usage.log
分析性能瓶頸:
%usr
:用戶態CPU占用高,可能存在應用負載過高。%sys
:內核態CPU占用高,可能存在系統調用頻繁或中斷過多。%iowait
:I/O等待高,可能存在磁盤性能瓶頸。%idle
:空閑率高,可能表示CPU資源未充分利用。top
、vmstat
)定位具體進程或資源問題。優化系統配置:
# 查看當前調度策略
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# 設置為性能模式(需root權限)
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
sudo yum install cpulimit
cpulimit -l 50 -p <PID> # 限制進程占用CPU不超過50%
# 降低swappiness(減少交換分區使用,適用于內存充足場景)
sysctl vm.swappiness=10
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效
taskset -c 0,1 <PID> # 將進程綁定到CPU 0和1
nice -n -10 <command> # 提高進程優先級(-20到19,數值越小優先級越高)
renice -n 10 -p <PID> # 降低進程優先級
定期自動化監控:
cron
定時任務定期采集數據(如每5分鐘一次):*/5 * * * * cpustat -i 300 -c 1 > /var/log/cpu_usage_$(date +\%Y\%m\%d\%H\%M\%S).log
注意事項: