當cache快取佔用太大,服務起不來,需要檢視清理快取
執行free -m或者free -h,檢視快取
釋放快取區記憶體的方法(請注意,以下操作需要root許可權)
建議在清理快取之前先備份重要資料,以免發生意外情況。
1、清理磁碟快取
重新整理檔案系統快取,將快取中的資料寫入磁碟。
sync
清理頁快取。這將清除頁快取中的資料,但不會清除目錄項和inode快取。
echo 1 > /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=1
清理目錄項和inode快取
echo 2 > /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=2
命令清理頁快取、目錄項和inode快取
echo 3 > /proc/sys/vm/drop_caches 或者 sysctl -w vm.drop_caches=3
2、清理Swap快取:
如果系統啟用了Swap分割槽,可以透過禁用和啟用Swap來清理Swap快取。首先,使用swapoff命令禁用Swap分割槽:sudo swapoff -a。然後,再使用swapon命令重新啟用Swap分割槽:sudo swapon -a。
3、清理DNS快取:
不同的Linux發行版可能使用不同的DNS解析器,因此清理DNS快取的方法也不盡相同。以下是一些常見的方法:
在大多數發行版中,可以使用systemd-resolve命令清理DNS快取:sudo systemd-resolve --flush-caches。
如果使用dnsmasq作為本地DNS快取伺服器,可以使用以下命令清理快取:sudo systemctl restart dnsmasq。
請注意,清理快取可能會導致一些效能下降,因為系統需要重新載入資料。只有在特定情況下(如系統效能問題或特定應用程式需要重新整理快取)才建議清理快取。在正常情況下,Linux會自動管理快取以提供最佳效能。