为什么 systemd 打印“循环太快”以及该怎么办?

为什么 systemd 打印“循环太快”以及该怎么办?

我正在使用 Debian 8.3 (jessie) 运行服务器 (VPS),并且 systemd 管理不同的进程。系统的负载低于1,但它使用了几乎所有的内存和部分交换空间。当我尝试停止服务并输入

systemctl stop process@1

日志文件说

Mar  1 08:03:50 abcde systemd[1]: Looping too fast. Throttling execution a little.

此消息每秒都会出现一次,之后就不再发生任何事情。当我发送^C到终端时,该过程最终停止。当我尝试重新启动守护进程时,也会发生同样的情况。 Systemd 版本:215-17+deb8u3

为什么会出现此消息?如何在没有此消息的情况下关闭守护程序?

答案1

根据github 上的 systemd 的这个问题,问题可能出在 dbus 上,建议升级 systemd,因为 Debian 8 附带的版本(版本 215)截至 2015 年 7 月被认为是旧版本。

您可以尝试重新启动服务器,因为这已经为其他遇到此问题的人解决了此问题(尽管这显然只是一种解决方法)。我列出的报告中还有一些其他修复/解决方法可能适用于您的情况。


更新:

根据bugs.debian.org 上的这个帖子,此问题的修复程序应该在软件包215-17+deb8u5的版本中可用systemd。升级到此版本应该可以解决您的问题。

答案2

我有类似的问题。

systemctl daemon-reexec

把它清理干净了。我尝试比较输出

systemctl --all

我运行 reexec 之前和之后。在重新执行之前我看到的是大量的行,例如:

session-1046.scope       loaded inactive dead   start Session 1046 of user root
session-1047.scope       loaded inactive dead   start Session 1047 of user root
session-1048.scope       loaded inactive dead   start Session 1048 of user root
session-1049.scope       loaded inactive dead   start Session 1049 of user myuser
session-1050.scope       loaded inactive dead   start Session 1050 of user root
session-1051.scope       loaded inactive dead   start Session 1051 of user root
session-1052.scope       loaded inactive dead   start Session 1052 of user myuser

重新执行后这些都消失了。我相信它们与执行以下内容有关:

ssh root@myserver
ssh myuser@myserver

自上次重新启动以来已过去数周了。

我可以通过以 root(或 myuser)身份登录来重现“运行状态”下的 systemctl 条目,但如果我正确退出或终止窗口,该条目就会消失。我希望如果我离开登录,它最终会以某种方式挂起,留下 systemD 会话。但不确定这些是否与 systemD 的循环有关。

答案3

这意味着 systemd 正在尝试启动一个服务,它立即崩溃(或正常完成)。尝试重新启动它会导致相同的结果,因此会出现该消息。检查某些配置是否错误/丢失,某些文件是否在预期位置找不到/错误的权限,...

相关内容