这也可能适用于与 BIND 类似的任何其他应用程序。目前,我的家庭服务器的 Linux 安装位于 USB 闪存驱动器上(为了好玩),与 SATA 驱动器相比,它相当慢。
当 BIND 通过转发器查找查询时,它究竟是如何工作的?结果是否缓存在硬盘驱动器(或我的情况下是 USB 闪存驱动器)上?这会导致查询变慢吗?
我注意到直接使用转发器时,查询有时会明显更快。我有一个 SATA 硬盘驱动器(用于存储)所以也许我可以使用这个驱动器来提高速度,如果本地驱动器完全参与到方程式中的话。
另一方面,我可能会想象闪存驱动器会使查询变慢 - 我不完全确定如何证明/反驳这一点;如果有人知道实用的方法,请指教。
通过这个链接阅读这里有一个语句,部分内容是,“清除缓存实际上是终止名称服务器的副作用,因为 BIND 名称服务器仅将缓存数据存储在内存中。” 这意味着您的缓存正在脱离内存。
机器有多少内存?它上面的任何其他负载(例如顶部显示高负载值或吃掉处理器的东西?)
通常,如果您想知道进程/用户/文件在做什么,而无需 24/7 全天候运行 lsof,您可以使用 auditctl。
假设您有一个最近的内核审计控制应该是一个简单的操作。(这是在 debianfu 中,如果您正在运行的 redhat 适当翻译)
确保其正在运行(/etc/init.d/auditd 状态)。
如果您正在运行 32 位架构,请将 b64 替换为 b32,open 可以替换为任何系统调用或单词“all”
有关更多信息,请阅读 auditctl 手册页。