'last -d' 真的很慢

'last -d' 真的很慢

我可以在不到一秒的时间内运行命令last(和),但是当我运行时,last -ilast -d根据我的测试,需要长达 5 分 22 秒的时间。

仅供参考,这就是添加-d标志的作用:

   -d     For non-local logins, Linux stores not only the host name of the
          remote host but its IP number as well.  This  option  translates
          the IP number back into a hostname.

手册页中没有任何迹象表明应该花费那么多额外的时间。正如它所说,Linux 已经存储了 IP,因此它不必根据现场主机名对 IP 进行任何类型的缓慢反向查找。此外,即使“查找” :0(本地登录)的主机名值应返回 的“IP 地址”值,速度也很慢0.0.0.0

-d标志在所有计算机上都很慢,还是只有我的计算机上很慢?这是否表明某个地方的文件已损坏,无法访问或难以读取?

作为参考,我正在跑步32位Ubuntu 13.10(尚未升级)。

答案1

DNS 搜索顺序是什么/etc/nsswitch.conf?它应该files作为第一个选项:-

hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname

可能值得确认系统中的搜索顺序。

我进行了同样的测试,结果为 47 秒last -d

然后我添加了0.0.0.0 localhost/etc/hosts现在只需 0.031 秒即可运行last -d

注意 - 我已经删除了0.0.0.0,因为根据维基百科,将其放在那里是无效的。

相关内容