在启动时,networking.service 在 Ubuntu 16.10 上非常慢(5 分钟)

Ale*_*cia 9 networking boot-time

根据systemd-analyze blame,networking-service在启动时需要超过 5 分钟才能启动:

系统分析责备

为什么会发生这种情况,我该如何解决?

小智 19

编辑 /etc/network/interfaces 并将接口的“auto”更改为“allow-hotplug”

sudo nano /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)

示例:以太网卡的自动接口auto eth0更改为allow-hotplug eth0

之后对我来说“systemd-analyze blame”->networking.service 从 5 分钟变为 41 秒


小智 6

我想出了一个解决方案,尽管将其称为解决方法可能更合适。

问题是networking.service 的默认超时时间为5 分钟,无论出于何种原因,完整的超时期限必须在启动继续之前到期。因此,启动需要 5 分钟多一点的时间。

我想出的解决方案是执行以下操作:

 sudo systemctl edit networking.service
Run Code Online (Sandbox Code Playgroud)

添加以下行:

TimeoutStartSec=10sec
Run Code Online (Sandbox Code Playgroud)

我仍然不知道根本原因,以及究竟是什么超时,但出于显而易见的原因,将超时从 5 分钟减少到 10 秒会使启动运行得非常快。

这是我在 Ubuntu 论坛上的解决方案的链接:https : //ubuntuforums.org/showthread.php? t = 2342450&p =13569192#post13569192

希望有帮助。

  • 不要直接编辑`/lib/systemd/system/networking.service`。请改用“systemctl editnetworking.service”。或者,下次升级提供该文件的软件包时,您的编辑将被覆盖。 (3认同)
  • 将 auto 更改为 allow-hotplug 的答案是正确的,这允许网络服务跳过在那个时间点不可用的接口。任何列为 auto 的接口都会导致网络服务等待,直到它启动或超时。 (3认同)
  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。- [来自评论](/review/low-quality-posts/641800) (2认同)
  • 那对我不起作用。使用 `sudo systemctl edit networking.service` 编辑文件时,启动仍然需要 5 分钟。`/lib/systemd/system/networking.service` 显示 `TimeoutStartSec=5min` (2认同)