今天遇到一个客户反映非root用户SSH登陆慢,还有su切换到非root用户也很慢,这个很奇怪了没遇见过。

    他的系统是SUSE的,怎么排查了,首先想到的是strace神器,strace -tt su xxx,查看耗费时间最久的

recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{":1.626674\0\0\0\0\0\0\0\4\1s\0#\0\0\0org.free"..., 163}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 163

    这一步消耗了20几秒,不懂就百度,中文的完全没答案,参考答案看这里https://serverfault.com/questions/707377/slow-ssh-login-activation-of-org-freedesktop-login1-timed-out

    差不多的意思是因为系统启动的时候dbus重启了,但是systemd-logind没有重启成功,只需要

systemctl restart systemd-logind

就可以了。