Linux是一個強大且高效的操作系統,但高RAM和CPU使用率可能會降低性能,讓應用程式變慢,甚至在運行伺服器、工作站或嵌入式系統時導致系統崩潰,因此優化資源使用對於平穩運行至關重要。
在本指南中,我們將探索減少Linux上RAM和CPU使用的實用方法。我們將涵蓋監控工具、進程管理、內核調整和系統優化技術,以保持系統高效運行。
1. 確認資源消耗過多的進程
減少RAM和CPU使用的第一步是確定哪些進程消耗了最多的資源,這可以通過利用幾個命令行工具來實現:
a. 使用top命令
top命令提供了系統進程的實時視圖,包括CPU和內存使用情況。
top
- 按
P
鍵按CPU使用率排序進程。 - 按
M
鍵按內存使用率排序進程。 - 尋找消耗過多資源的進程並記下它們的進程ID(PID)。

b. 使用htop命令
htop 是一個互動式的進程查看器,提供比 top
更加友好的界面。
要在 Linux 上安裝 htop,請使用適合您特定 Linux 發行版的命令。
sudo apt install htop [On Debian, Ubuntu and Mint] sudo dnf install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [On Gentoo Linux] sudo apk add htop [On Alpine Linux] sudo pacman -S htop [On Arch Linux] sudo zypper install htop [On OpenSUSE] sudo pkg install htop [On FreeBSD]
運行 htop
以輕鬆查看和管理進程。
htop
- 按
F6
可按 CPU 或內存使用率對進程進行排序。 - 按
F9
可終止選定的進程。

c. 使用 ps 命令
ps 命令 可用於列出進程及其資源使用情況。
ps aux --sort=-%mem | head # Top memory-consuming processes ps aux --sort=-%cpu | head # Top CPU-consuming processes

2. 終止不必要的進程
一旦您識別了資源佔用過高的進程,您可以使用 kill 命令 終止它們以釋放資源,後面接上 PID。
kill PID
如果進程無法終止,請使用 -9
標誌強制終止它。
kill -9 PID
或者,使用 pkill 命令 按名稱終止進程。
pkill process_name
3. 優化啟動應用程序
許多應用程式和服務會在開機時自動啟動,消耗寶貴的系統資源。
管理啟動應用程式:
a. 使用 systemctl 命令
使用 systemctl 命令 列出所有啟用的服務。
systemctl list-unit-files --type=service | grep enabled
停用不必要的服務。
sudo systemctl disable service_name

b. 使用圖形介面工具
如果你正在使用像是 GNOME 或 KDE 的桌面環境,可以使用內建的啟動應用程式管理器來 停用不必要的程式。
4. 減少 Swappiness(優化交換區使用)
Swappiness 控制系統何時使用交換空間而非 RAM。高 Swappiness 值會導致過度交換,從而減慢系統速度。
要檢查當前的 Swappiness 值:
cat /proc/sys/vm/swappiness
預設值通常是 60
,但若要減少 Swappiness,您需要編輯 /etc/sysctl.conf
檔案。
sudo nano /etc/sysctl.conf
添加或修改以下內容。
vm.swappiness=10
保存檔案並應用變更。
sudo sysctl -p
5. 使用輕量級桌面替代方案
繁重的桌面環境和應用程式會加重系統資源的負擔,因此可以考慮切換到輕量級的替代方案:
a. 桌面環境
將GNOME或KDE替換為更輕量的選擇,如XFCE、LXDE或MATE。
b. 應用程式
使用輕量級應用程式,如:
- 文字編輯器:用LibreOffice替換為AbiWord或Mousepad。
- 網頁瀏覽器:使用擴展較少的Firefox或切換到輕量級瀏覽器,如Midori。
- 檔案管理器:用Nautilus替換為Thunar或PCManFM。
6. 清除快取和緩衝區
Linux使用RAM來快取檔案並提高性能。然而,您可以在需要時手動清除快取:
sudo sync; sudo sysctl -w vm.drop_caches=3
此命令清除頁面快取、目錄項和索引節點。使用時請謹慎,因為這可能會暫時減慢檔案訪問速度。
7. 優化內核參數
要調整或優化內核參數,您需要編輯/etc/sysctl.conf
檔案,並添加以下內容或調整參數以提高系統性能。
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
這些設置控制髒數據寫入磁碟的頻率,以減少RAM使用量。
8. 使用ZRAM減少記憶體使用
Zram和Zswap是壓縮記憶體技術,可以減少RAM使用。
sudo apt install zram-config sudo systemctl start zram-config
安裝後,您需要編輯GRUB配置檔案(/etc/default/grub
)並添加:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
更新GRUB並重啟:
sudo update-grub sudo reboot
9. 限制進程的CPU使用率
如果某個進程佔用了 CPU,可以使用 cpulimit 來限制其使用率。
sudo apt install cpulimit # Debian/Ubuntu sudo yum install cpulimit # RHEL/CentOS
將一個進程(例如,firefox)的 CPU 使用率限制在 30%。
sudo cpulimit -e firefox -l 30
要永久限制一個進程,可以使用 systemd。
sudo systemctl set-property <service_name> CPUQuota=30%
10. 定期更新您的系統
定期更新系統可確保您擁有最新的性能改進和錯誤修復。
sudo apt update && sudo apt upgrade # For Debian/Ubuntu sudo yum update # For CentOS/RHEL
疑難解答提示
- 如果進程無法使用
kill
終止,請使用kill -9 PID
來強制終止它。 - 如果
zram
或zswap
無法工作,請確保您的內核支持這些功能。 - 如果系統性能沒有改善,考慮升級硬件(例如,增加更多 RAM 或轉換為 SSD)。
結論
在 Linux 上優化 RAM 和 CPU 使用是監控、微調,有時升級硬件的結合。通過識別佔用資源的進程、調整系統設置和選擇輕量級替代方案,您可以為系統注入新活力。
您試過這些優化技巧嗎?在下方留言分享您的經驗,或訪問 Tecmint.com 了解更多 Linux 指南和教程。
Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/