页面缓存是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)。