linux

Linux缓存数据怎样快速清理

小樊
48
2025-10-07 10:44:47
栏目: 智能运维

Linux缓存数据快速清理方法

1. 清理页面缓存(Page Cache)

页面缓存是Linux用于加速文件系统读写的内存缓存(存储文件内容)。清理命令需先同步数据再执行:

sudo sync; sudo echo 1 > /proc/sys/vm/drop_caches

作用:仅清除页面缓存,不影响目录项(dentry)和索引节点(inode)缓存。

2. 清理dentry和inode缓存

dentry(目录项)和inode(索引节点)缓存用于加速文件查找(如lscd命令)。清理命令:

sudo sync; sudo echo 2 > /proc/sys/vm/drop_caches

作用:清除目录项和索引节点缓存,释放用于存储文件元数据的内存。

3. 清理所有缓存(页面+目录项+inode)

若需一次性释放所有内核缓存(最彻底),可使用以下命令:

sudo sync; sudo echo 3 > /proc/sys/vm/drop_caches

作用:同时清除页面缓存、dentry缓存和inode缓存,适用于需要快速释放大量内存的场景。

4. 使用sysctl命令临时清理

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文件系统,语法更简洁。

5. 清理应用层缓存

除内核缓存外,还需清理应用层缓存(如包管理器、Docker、浏览器等):

注意事项

0
看了该问题的人还看了