为什么 systemd 在我的新 Ubuntu LXC 容器中卡在 100%?

为什么 systemd 在我的新 Ubuntu LXC 容器中卡在 100%?

我正在尝试创建一个 LXC 容器,其中包含 xubuntu 桌面。这是在全新的 Ubuntu 22.04 安装上sudo lxc launch images:ubuntu/22.04 workstation执行的创建容器,然后apt install xubuntu-desktop在容器内运行。

apt 命令挂起在 75% 左右,并top显示systemd容器内的 CPU 利用率为 100%,systemd-journalCPU 利用率徘徊在 45% 左右。

journalctl -f容器内显示垃圾邮件日志:

Condition check resulted in ACPI event daemon being skipped

一遍又一遍。停止容器并重新启动它会导致相同的问题(100% CPU、日志垃圾邮件和任何systemctl命令挂起)

造成这种情况的原因是什么以及如何解决?

答案1

唯一相关的谷歌搜索让我找到了这个 GitHub 问题其中说道:

恕我直言,问题更多地出现在 systemd 方面,因为如果目标无法处理事件,它就无法正确处理从一个单元到另一个单元的触发事件。在这种情况下,事件源是 acpid.path,如果目录 /etc/acpi/events/ 不为空,则应启动 acpid 服务。对于容器,acpid 服务被条件检查禁用ConditionVirtualization=!container并且无法运行。当 systemdacpid.path一次又一次生成相同的触发事件并且目标acpid.service永远无法处理它时,这会导致 systemd 陷入无限循环。

我解决了这个问题,只需删除/etc/acpi/events( sudo mv /etc/acpi/events /etc/acpi/events.bak),问题立即消失。

这很可能不是正确的修复,如果我找到更多信息,我会用正确的修复更新我的答案——但这解决了眼前的问题并允许我继续我的 xubuntu 设置。

相关内容