温馨提示×

linux mount缓存如何清

小樊
43
2026-09-05 10:23:04
栏目: 智能运维

在 Linux 中,“mount 缓存”一般指几类不同层面的缓存,清除方式也不同。下面按常见场景说明。


一、文件系统缓存(page cache / dentry cache)

这是最常见的“缓存”,由内核统一管理。

1. 查看内存缓存

free -h
# 或
cat /proc/meminfo | grep -E 'Cached|Buffers'

2. 清理缓存(不影响已 mount 的文件系统)

# 清理 pagecache
echo 1 > /proc/sys/vm/drop_caches

# 清理 dentries + inodes
echo 2 > /proc/sys/vm/drop_caches

# 全部清理
echo 3 > /proc/sys/vm/drop_caches

⚠️ 需要 root 权限:

sync && echo 3 > /proc/sys/vm/drop_caches

sync 用于先写回脏数据,避免数据丢失。


二、NFS 挂载缓存(客户端属性缓存)

如果是 NFS mount,客户端会缓存文件属性和目录。

查看挂载选项

mount | grep nfs

常见缓存相关参数

  • actimeo=:属性缓存时间(秒)
  • noac:禁用属性缓存
  • lookupcache=none:禁用目录项缓存

重新挂载以清除 NFS 缓存

mount -o remount,noac /mnt/nfs

或修改 /etc/fstab 后:

umount /mnt/nfs
mount /mnt/nfs

三、CIFS / SMB 挂载缓存

mount | grep cifs

清除方式通常是重新挂载:

umount /mnt/share
mount -a

可在挂载时禁用缓存:

mount -t cifs //server/share /mnt/share -o cache=none,username=xxx

四、目录项 / inode 缓存(dentry)

属于内核通用缓存,用前面的:

echo 2 > /proc/sys/vm/drop_caches

五、autofs / 自动挂载缓存

如果是 autofs:

systemctl restart autofs

或:

automount -k /mnt/auto

六、mount 表本身(/etc/mtab 或挂载点状态)

如果只是“挂载信息看起来不对”:

mount -a
# 或
systemctl daemon-reload

总结速查表

场景 清除方式
文件缓存 echo 3 > /proc/sys/vm/drop_caches
NFS 缓存 remount / noac
CIFS 缓存 remount / cache=none
目录缓存 echo 2 > /proc/sys/vm/drop_caches
autofs systemctl restart autofs

如果你能说明 具体文件系统类型(ext4 / NFS / CIFS / overlay 等)和“缓存”现象(如 ls 不刷新、df 不对),我可以给更精确的方法。

0 踩