清理CentOS緩存是釋放磁盤空間、優化系統性能的有效手段,主要包括包管理器緩存、臨時文件、日志文件、系統緩存等類型的清理。以下是具體操作步驟及注意事項:
包管理器(YUM/DNF)會緩存下載的軟件包及元數據,長期積累會占用大量磁盤空間。
yum clean all
命令清理所有緩存(包括軟件包、元數據、舊元數據等):sudo yum clean all
dnf clean all
命令(DNF是YUM的下一代包管理器,兼容YUM命令):sudo dnf clean all
yum clean packages
)或元數據(yum clean metadata
)。系統臨時文件(如/tmp
、/var/tmp
目錄下的文件)通常是無用的緩存或臨時數據,清理后可快速釋放空間。
sudo rm -rf /tmp/* # 清理/tmp目錄
sudo rm -rf /var/tmp/* # 清理/var/tmp目錄(部分系統可能不需要)
注意:執行前確保/tmp
目錄下無正在使用的文件(如正在運行的程序創建的臨時文件)。
日志文件(如/var/log
目錄下的*.log
、journalctl
日志)會隨時間增長占用大量空間,可通過以下方式清理:
journalctl
清理系統日志:3d
表示3天):sudo journalctl --vacuum-time=2weeks
/var/log
目錄下超過7天的.log
文件(如Apache、Nginx日志):sudo find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;
logrotate
工具自動管理日志輪轉(默認已啟用),確保日志不會無限增長。系統緩存(如頁面緩存、目錄項緩存、inode緩存)用于加速文件訪問,但過多占用會導致內存不足??赏ㄟ^以下命令清理:
sync && echo 3 > /proc/sys/vm/drop_caches
sync
:將緩存數據同步到磁盤,避免數據丟失;echo 3
:清理頁面緩存(1)、目錄項緩存(2)、inode緩存(3)(三者組合)。echo 1
:僅清理頁面緩存(不影響系統運行);echo 2
:清理頁面緩存+目錄項緩存(適用于目錄操作頻繁的場景)。通過調整內核參數,可優化系統對緩存的使用,減少不必要的內存占用:
/etc/sysctl.conf
文件:vm.swappiness = 10 # 減少交換分區使用(值越小越傾向于使用物理內存,10為推薦值)
vm.vfs_cache_pressure = 50 # 提高文件系統緩存回收壓力(值越大越積極回收,50為推薦值)
sudo sysctl -p
這些參數可平衡內存與交換分區的使用,避免因緩存過多導致系統卡頓。通過cron
定時任務,定期自動執行清理操作(如每天凌晨3點):
crontab
:crontab -e
0 3 * * * /usr/bin/sync; /usr/bin/echo 3 > /proc/sys/vm/drop_caches
保存后,系統將每天自動執行清理。/var
、/home
等關鍵目錄,避免誤刪;df -h
命令定期檢查磁盤使用情況,確保存儲空間充足;systemctl list-units --type=service --state=running
命令關閉無用服務(如firewalld
、NetworkManager
),進一步釋放資源。通過以上步驟,可有效清理CentOS系統緩存,提升系統運行速度。根據服務器用途(如Web服務器、數據庫服務器),可針對性調整清理頻率及參數(如數據庫服務器需保留更多緩存以提高查詢性能)。