rmm*_*rmm 6 linux network-attached-storage nfs linux-kernel
我有一个 Thecus N8900 NAS,它是一个基于 Linux 的文件服务器,通过 NFS 向六个客户端提供文件。由于某些原因,色卡司支持尚未解释,它运行一个脚本,每 60 秒检查一次 /proc/meminfo,如果磁盘缓存超过可用 RAM 的 50%,它们会执行“echo 3 > /proc/sys/vm/drop_caches " 命令来刷新缓存。
撇开这是否有意义的问题不谈,实际的“echo 3 > /proc/sys/vm/drop_caches”命令可能需要几个小时才能完成,这对我来说似乎太长了。
最大的问题是,当这种情况发生时,机器上的负载会激增,磁盘利用率也是如此,这使得所有 NFS 流量都会爬行,直到命令最终完成,此时事情又会再次响应。
NAS 本身有 16 gig 的 RAM、7 个采用 raid6 配置的驱动器(加上一个热备用),根本没有驱动器问题(根据 SMART 测试)。
所以问题是:什么会导致 drop_caches 命令花费这么长时间?