
我可以在不到一秒的時間內運行命令last
(和),但是當我運行時,last -i
last -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
,因為根據維基百科,將其放在那裡是無效的。