在Ubuntu 9 64位Linux机器上,sudo需要较长时间才能启动。 “sudo回声嗨”需要2-3分钟。 sudo命令告诉poll(“/ etc / pam.d / system-auth”,POLLIN)在5秒后超时,并且有多个调用(可能是循环)到相同的系统调用(这导致2-3分钟延迟)。
任何想法为什么sudo必须等待/etc/pam.d/system-auth? 任何可以使sudo超时更快?
谢谢塞缪尔
sudo速度慢的最大原因是系统无法parsing自己的主机名。 /etc/hosts
是否包含本地主机名? 如果不是,我会build议添加IP 127.0.1.1
,这是我所有的系统上做的。 我添加短主机名和完全限定域名(FQDN)的条目。 然后,这消除了sudo访问调用中延迟10次中的9次。
我不禁想到民意调查可能是一个红鲱鱼。
每当我看到sudo速度exception缓慢的时候,一直都是DNS问题。 无论是旧的,在/etc/resolv.conf中列出的死亡服务器,还是一个阻塞53端口的错误configuration的防火墙,或者完全是其他的东西,我总是发现,当sudo echo foo
速度很慢时, dig google.com
的速度很慢。
即使不是DNS,我怀疑缓慢是与networking相关的,可能与authentication有关(正如Kevin M所build议的),在这种情况下,poll()调用毕竟可能不是红鲱鱼。
尝试运行一个tcpdump,而试图运行sudo,看看出现了什么。
在我的情况下,重新启动systemd-logind解决(暂时)的问题。
sudo systemctl restart systemd-logind