问题
通过SSH登录服务器CentOS7时异常缓慢,发现机上systemd-logind进程导致cpu占满100%的问题,使得并且消耗资源。
原因
systemd-logind主要功能是为每一个登陆session创建一个systemd角度的cgroup管理对象,更方便对session使用cgroup,也是一个systemd BUG
详情1:https://github.com/systemd/systemd/issues/1961
详情2:https://bugzilla.redhat.com/show_bug.cgi?id=1439989
解决方案
清除/清除所有范围文件和已加载的活动已放弃会话:
清理systemd中已放弃的会话:
删除会话文件
1 | find /run/systemd/system -name "session-*.scope" -delete |
删除会话目录
1 | rm -rf /run/systemd/system/session*scope* |
删除已放弃的会话
此命令可能会终止会话范围内的进程,因此请小心使用此命令
1 | systemctl | grep "abandoned" | grep -e "-[[:digit:]]" | sed "s/\.scope.*/.scope/" | xargs systemctl stop |
脚本形式
1 | vi /root/cleanup_systemd_sessions.sh |