这也可能适用于任何类似于BIND的其他应用程序。 目前,我的家用服务器的Linux安装位于USB闪存驱动器上(为了好玩),与SATA驱动器相比,这相当慢。
当通过转发器查询查询时,BIND究竟如何工作? 结果caching在硬盘驱动器(或在我的情况下的USB闪存驱动器)? 这会导致查询速度变慢吗?
我注意到,当直接使用转发器时,查询有时显着更快。 我有一个SATA硬盘驱动器(用于存储),所以也许我可以使用这个驱动器来提高速度,如果本地驱动器是在所有参与的方程。
另一方面,我可能会想象闪存盘会使查询变慢 – 我不完全确定如何certificate/反驳这个; 如果有人知道一个实用的方法,请告知。
一般来说,如果你想知道一个进程/用户/文件正在做什么,而不需要24/7全天候运行lsof,你可以使用auditctl。
假设你有一个最近的内核审计控制应该是一个简单的操作。 (这是在debianfu,如果你正在运行的红帽翻译适当)
# apt-get install auditd
确保它正在运行(/etc/init.d/auditd状态)。
auditctl -a entry,always -F arch=b64 -S open -F pid=<process id>
用b32replaceb64如果你正在运行的32位拱,open可以被任何系统调用或单词all所取代。
有关更多信息,请阅读auditctl手册页。
通过这个链接阅读这里有一个声明部分读取“清除caching实际上是杀死名称服务器的副作用,因为BIND名称服务器只存储caching的数据在内存中”。 这意味着你的caching已经从内存中解脱出来了。
机器有多less内存? 任何其他负载(如顶部显示高负载值或吃东西的东西)?