頁面緩存是Linux用于加速文件系統讀寫的內存緩存(存儲文件內容)。清理命令需先同步數據再執行:
sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches
作用:僅清除頁面緩存,不影響目錄項(dentry)和索引節點(inode)緩存。
dentry(目錄項)和inode(索引節點)緩存用于加速文件查找(如ls
、cd
命令)。清理命令:
sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches
作用:清除目錄項和索引節點緩存,釋放用于存儲文件元數據的內存。
若需一次性釋放所有內核緩存(最徹底),可使用以下命令:
sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches
作用:同時清除頁面緩存、dentry緩存和inode緩存,適用于需要快速釋放大量內存的場景。
sysctl
命令可動態修改內核參數,實現與echo
相同的效果:
sudo sysctl -w vm.drop_caches=3 # 清理所有緩存(等同于echo 3)
sudo sysctl -w vm.drop_caches=2 # 清理dentry和inode緩存(等同于echo 2)
sudo sysctl -w vm.drop_caches=1 # 清理頁面緩存(等同于echo 1)
優勢:無需直接操作/proc
文件系統,語法更簡潔。
除內核緩存外,還需清理應用層緩存(如包管理器、Docker、瀏覽器等):
sudo apt-get clean # 清除已下載的deb包
sudo apt-get autoclean # 清除舊版deb包
sudo yum clean all # 清除所有YUM緩存
docker system prune -a # 清除未使用的鏡像、容器、卷(謹慎使用)
Ctrl+Shift+Delete
)清除緩存。root
權限(使用sudo
)。