FreeBSD 上的名称缓存负责缓存文件名及其 vnode。它还提供了一个特殊的数据库来散列大型目录的内容。
我想知道如何清空名称缓存,但我找不到任何允许我执行此操作的工具或 sysctl。
有可能吗?
答案1
NetBSD 的手册页名称缓存(9)建议cache_purgevfs()
在卸载文件系统时调用该函数。对 FreeBSD 内核源代码的快速 grep 确认 FreeBSD 上也是如此。
卸载文件系统然后再次安装它无疑是清除缓存的一种方法,但如果知道是否有一种不太激烈的方法可以做到这一点(例如,每个文件一个),那就很酷了。