'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,因為根據維基百科,將其放在那裡是無效的。

相關內容