Ubuntu內存清理實用技巧
在清理前,需明確內存占用狀態。常用命令:
free -h:直觀顯示總內存、已用/空閑內存、緩沖區及緩存占用(推薦)。top/htop:動態查看進程級內存消耗(htop需安裝,界面更友好)。Ubuntu會自動利用空閑內存作為緩存(提升文件讀取速度),但過量緩存可能占用內存。通過以下命令釋放:
sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_cachessudo sync && echo 2 | sudo tee /proc/sys/vm/drop_cachessudo sync && echo 3 | sudo tee /proc/sys/vm/drop_cachessync命令用于將未寫入磁盤的數據同步到存儲設備,避免數據丟失。sudo apt-get clean(刪除所有已下載的軟件包文件,釋放/var/cache/apt/archives空間);sudo apt-get autoclean(僅刪除舊版本的軟件包緩存)。sudo apt-get autoremove(移除系統不再需要的依賴包,如卸載軟件后殘留的庫文件)。uname -r(避免刪除正在使用的版本);dpkg --list | grep linux-image;linux-image-5.15.0-86-generic):sudo apt-get purge linux-image-<version>。sudo apt install bleachbit;運行:bleachbit(圖形界面選擇清理項)。sudo add-apt-repository ppa:gerardpuig/ppa && sudo apt update && sudo apt install ubuntu-cleaner。swappiness參數控制內核使用交換空間(Swap)的傾向(默認60,值越低越依賴物理內存)。編輯/etc/sysctl.conf文件,添加vm.swappiness=10(永久生效);或臨時調整:sudo sysctl vm.swappiness=10。systemctl list-unit-files --type=service;禁用服務:sudo systemctl disable <service_name>(如bluetooth、cups等非必需服務)。ps aux查看進程,終止占用高的無用進程(kill -9 <PID>,謹慎操作)。編寫腳本定期自動清理內存,例如:
#!/bin/bash
memfree=$(free -m | awk '{print $4}')
max=4096 # 設定內存閾值(MB)
if [[ $memfree -le $max ]]; then
echo "Memory is low. Cleaning up..."
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
fi
保存為memory-monitor.sh,賦予執行權限:chmod +x memory-monitor.sh;設置定時任務(每天凌晨2點運行):crontab -e,添加0 2 * * * /path/to/memory-monitor.sh。
sudo apt install xfce4)或LXDE(sudo apt install lxde),減少內存占用。firefox -profile ManageFirefox -clear-cache清理緩存;Chrome使用chrome://settings/clearBrowserData。注意事項:
top查看進程重要性)。