Linux 服务器登录缓慢
更新时间:2024-11-16 11:03:11
PDF
问题描述
Linux 服务器登录,su 命令到其他用户或 sudo 命令涉及到用户鉴权相关的操作均非常慢,花费 20 多秒或以上的时间。
排查方法
-
安装 strace,通过 strace su 查看是哪一步花费较长时间。
CentOS 安装命令:
yum install strace
Ubuntu 安装命令:
apt-get install strace -y
-
查看 systemd-logind 服务是否正常。
执行以下命令可以查看服务状态,这种情况服务一般是假死状态(服务是 active ,但一直在重启且启动未成功)或有明显异常报错。
Systemctl status systemd-logind
参考异常案例:
-
通过
journalctl -xe
查看微服务异常点。执行以下命令,查看具体哪个微服务异常,从而查找解决办法,
journalctl -xe
常见错误为:
[system] Failed to activate service 'org.freedesktop.login1': timed out
-
问题解决方案
-
此问题是因为 放弃 用户会话( session )未关闭而导致。
执行以下命令。
systemctl | grep 'of user'| grep 'abandoned'
-
检查被遗弃的用户
执行以下命令。
rm -rf /run/systemd/system/sessionscope
-
删除会话目录
执行以下命令。
systemctl daemon-reexec
-
重新执行守护进程
如仍未未解决可执行以下命令。
kill 1
kill 登录相关进场从而达到释放所以登录相关 sesson。
-