1. 監控CPU使用情況,定位高消耗進程
優化前需先明確CPU資源的占用源頭。使用top命令可實時查看各進程的CPU使用率(按P鍵按CPU使用率排序)、內存占用及運行狀態;htop(需安裝:sudo apt install htop)提供更直觀的交互界面,支持顏色區分和快捷操作;ps命令結合grep可精準查找特定進程(如ps -ef | grep nginx)。通過這些工具識別出占用CPU超過10%的高消耗進程(如未優化的Java應用、病毒掃描工具),為后續優化提供依據。
2. 調整進程優先級,合理分配CPU時間
通過nice和renice命令調整進程的優先級(Nice值范圍:-20至19,數值越小優先級越高)。對于關鍵業務進程(如數據庫服務),可提高其優先級以獲得更多CPU時間:
nice -n -10 /usr/bin/mysqld(-10表示高優先級);renice -10 -p 1234(將PID為1234的進程優先級調整為-10)。3. 限制進程CPU使用率,防止單進程過載
使用cpulimit工具限制特定進程的CPU使用率上限(需安裝:sudo apt install cpulimit),防止某個進程異常占用全部CPU資源。例如,限制ffmpeg進程的CPU使用率不超過50%:
cpulimit -l 50 -p $(pgrep ffmpeg)
或通過-e參數直接指定進程名:cpulimit -l 50 -e ffmpeg。適用于后臺批處理任務、視頻轉碼等資源密集型操作。
4. 優化啟動項與服務,減少不必要的CPU負載
禁用開機自啟的不必要服務(如藍牙、打印服務),降低系統啟動時的CPU消耗:
systemctl list-units --type=service --state=running;sudo systemctl stop bluetooth.service;sudo systemctl disable bluetooth.service。sudo systemctl disable cups.service禁用打印服務(若無需打?。?,進一步減少后臺進程對CPU的占用。5. 調整CPU頻率策略,平衡性能與功耗
Ubuntu默認使用ondemand策略(根據負載動態調整CPU頻率),但可通過修改scaling_governor為performance,讓CPU始終保持標稱頻率,避免頻繁切換帶來的性能損耗:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;performance:echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor。6. 優化進程CPU親和性,提升多核利用率
使用taskset命令將進程綁定到特定CPU核心(NUMA架構下效果更明顯),減少進程在不同核心間遷移的開銷(遷移會導致CPU緩存失效,增加延遲)。例如,將nginx進程綁定到核心0和1:
taskset -c 0,1 /usr/sbin/nginx
或啟動時直接指定:taskset -c 0,1 /path/to/application。適用于多核服務器上的高并發應用(如Nginx、Redis)。
7. 定期清理系統,釋放系統資源
sudo apt clean(刪除已下載的安裝包)、sudo apt autoremove(刪除無用的依賴包);dpkg --list | grep linux-image列出所有內核,保留當前使用的版本(如linux-image-6.5.0-44-generic),刪除舊版本(sudo apt purge linux-image-6.5.0-40-generic);sudo rm -rf /tmp/*(刪除/tmp目錄下的臨時文件)。8. 使用輕量級桌面環境,降低圖形界面負載
若使用Ubuntu的默認桌面環境(GNOME),可切換至輕量級桌面環境(如XFCE、LXDE),減少圖形渲染對CPU的消耗:
sudo apt install xfce4;