Как ускорить действительно медленную загрузку на Ubuntu 16.04?

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

8 ответов

Вы можете попытаться выяснить, что занимает больше всего времени с systemd

systemd-analyze blame

Редактирование UUID / etc / fstab пространства подкачки (для соответствия выводу sudo blkid) работал как шарм!

Примечание: после этого, если есть какие-либо записи подкачки в /etc/crypttab файл, вы должны изменить его второй параметр, чтобы он соответствовал вашему пространству подкачки, либо по UUID, либо по пути (т. е. UUID= что-то или /path/to/swap).

На моем SSD загрузка прошла с 2 минут до менее 10 секунд.

Дело в том, что я только что выполнил обычное обновление с 14.04 до 16.04, без проблем с разделами, когда началась эта проблема. Очевидно, есть некоторые проблемы с процедурой обновления.

Я столкнулся с подобной проблемой более длительного времени загрузки после обновления.

В чем была проблема? Я удалил пространство подкачки, поэтому у моего файла /etc/fstab и новой файловой системы возникли конфликты. Загрузчик ждал почти 1 м 30 с, чтобы найти его.

Как я решил проблему Run sudo blkid

Откройте файл /etc/fstab и сравните соответствие uuid с имеющимися у вас разделами. Если есть несоответствие, измените это и перезагрузите.

Это обходное решение, но это значительно сократило время загрузки (с 1 минуты 24 секунды до 16 секунд).

sudo vim /etc/systemd/system.conf

Раскомментируйте эти два параметра и установите желаемое время ожидания:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Примечание. Оптимизируйте эти значения в соответствии с потребностями вашего оборудования ~ 5 - 60 с.

Как обсуждалось здесь, эти параметры настраивают тайм-ауты по умолчанию для запуска и остановки модулей, а также время ожидания по умолчанию между автоматическим перезапуском блоков, как настроено для каждого блока в TimeoutStartSec=, TimeoutStopSec= а также RestartSec= (для служб, см. systemd.service(5) для подробностей о настройках на единицу).

Для не обслуживающих подразделений, DefaultTimeoutStartSec= устанавливает значение по умолчанию TimeoutSec= value, DefaultTimeoutStartSec= а также DefaultTimeoutStopSec= по умолчанию 90-х годов. DefaultRestartSec= по умолчанию 100 мс.


Редактировать - подробнее:

Я проанализировал последовательность загрузки с systemd-analyze plot > sequence.svg это показало, что службы не запускаются на моей недавно обновленной ОС. Их было три - один был неправильно настроен демон sendmail, затем powerd.service и NetworkManager-wait-online.service. Поскольку не стоит полностью отключать службу NetworkManager, я просто позволил ей прерваться через 10 секунд и применил это правило глобально.

Основываясь на ваших выводах пастбина, на меня выпадает пара вещей:

EXT4-fs (sda5): re-mounted

Возможно, вы захотите скопировать этот том и взглянуть на Smart Data для этого диска.

а также

[   31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Вы можете попытаться отключить IPV6 в своих сетевых подключениях, если оно не поддерживается.

Это может быть связано с проблемами файловой системы. Вы можете проверить эту ссылку, чтобы увидеть, улучшает ли время восстановления файловая система время загрузки: https://help.ubuntu.com/community/FilesystemTroubleshooting устранение неполадок

Следующий совет пользователя user536489:

системный анализ вины

Проверьте, есть ли служба, которая требует много времени для запуска, и установите меньшее время ожидания:

sudo vim /lib/systemd/system/networking.service

+ Изменить TimeoutStartSec что-то вроде 10s, Состояния справочной страницы Принимает значение без единиц измерения в секундах или значение промежутка времени, например, "5 мин. 20 с". Передайте "бесконечность", чтобы отключить логику тайм-аута.

У меня была похожая проблема, которую я только что решил: я запускаю Ubuntu 16.04 на SSD . Я использую флешку в качестве раздела подкачки. Привод был случайно перемещен, и загрузка заняла более 3 минут. Я положил его обратно правильно, и теперь все в порядке. Если вы попробовали smartctl или fsck и ваша файловая система исправна, попробуйте удалить флэш-диски (или другие периферийные устройства?) И посмотреть, как это происходит. Удачи!

Другие вопросы по тегам