При загрузке network.service работает очень медленно (5 минут) в Ubuntu 16.10 - proUbuntu
Купить гитару в Москве
5 голосов
/

Согласно systemd-analyze blame, networking-service требуется более 5 минут для запуска при загрузке:

systemd-analyze blame

Почему это происходит и как я могу это исправить?

Ответы [ 4 ]

8 голосов
/

Отредактируйте / etc / network / interfaces и измените "auto" для интерфейсов на "allow-hotplug"

sudo nano /etc/network/interfaces

Пример: автоинтерфейс для сетевой карты auto eth0 изменить на allow-hotplug eth0

После этого для меня «системный анализ вины» -> network.service меняется с 5 минут на 41 с

3 голосов
/

Я придумал решение, хотя может быть более уместно назвать его обходным путем.

Проблема заключается в том, что по умолчанию для network.service задано время ожидания 5 минут, и по какой-либо причине полный период ожидания должен истечь до продолжения загрузки. Итак, загрузка занимает чуть больше 5 минут.

Решение, которое я придумал, заключается в следующем:

 sudo systemctl edit networking.service

Добавить следующую строку:

TimeoutStartSec=10sec

Я до сих пор не имею представления о первопричине и о том, что именно означает истечение времени ожидания, но сокращение времени ожидания с 5 минут до 10 секунд делает загрузку довольно быстрой по очевидным причинам.

Вот ссылка на мое решение на форумах Ubuntu: https://ubuntuforums.org/showthread.php?t=2342450&p=13569192#post13569192

Надеюсь, это поможет.

0 голосов
/

Просто добавление TimeoutStartSec=10sec не сработало для меня - мне пришлось сделать одно небольшое изменение. Глядя на /lib/systemd/system/networking.service, я увидел, что атрибут конфигурации был вложен в [Service]

Я отредактировал /etc/systemd/system/networking.service.d/override.conf, чтобы он выглядел следующим образом:

[Service]
TimeoutStartSec=10sec

А теперь работает

0 голосов
/

Из того, что я обнаружил, возможно, было бы целесообразно найти лучшую причину. В моем случае это похоже на systemd-networkd.service, который останавливает процесс, и, кроме того, это особый сетевой интерфейс, который останавливает networkd.

Итак, я выбрал два подхода:

  1. Просто отключите systemd-networkd-wait-online.service после более удобного для пользователя времени. Это может быть достигнуто путем редактирования / lib / systemd / system / systemd-networkd-wait-online и добавления опции в строку ExecStart, которая вызывает службу. Чтобы просто увеличить время ожидания, добавьте --timeout = 10, чтобы сократить время ожидания до 10 с. По умолчанию это 120S. Однако это может быть ИМХО не лучшим подходом, может быть, очень важно, чтобы какой-то интерфейс действительно был доступен.

    ExecStart=/lib/systemd/systemd-networkd-wait-online --timeout=10
    
  2. Попробуйте игнорировать интерфейс, который, по вашему мнению, может быть основной причиной. В моем случае это была некритическая беспроводная связь, которую я еще не настроил должным образом. Он был определен в файле netplan yaml, но я еще не настроил wpa_supplicant, чтобы запустить его как AP с IP и т. Д. Это была зависимость, которая вызвала зависание. Поэтому я добавил --ignore = int_wlan0 в строку ExecStart. Конечно же, критически важные интерфейсы Ethernet появились очень быстро, но сеть ожидала чего-то большего от канала WLAN. Как только игнорирование было на месте, загрузка началась сразу после 2-минутной задержки.

    ExecStart=/lib/systemd/systemd-networkd-wait-online --ignore=int_wlan0
    

Это имеет некоторый смысл, так как «man systemd-networkd-wait-online.service» заявляет, что «он будет ждать, пока все ссылки, о которых он знает, и которыми управляет systemd-networkd.service (8), будут полностью настроены или не удалось ". То, что networkd считает полностью настроенным, остается открытым вопросом. Из моей установки кажется, что это включает в себя наличие IP-адреса, но это может быть только особый случай для беспроводных соединений. Я не знаю. Однако это исправление заставило вещи работать намного быстрее, и, по крайней мере, я знаю, что единственной зависимостью была беспроводная связь.

Добро пожаловать на сайт proUbuntu, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...