Как ускорить действительно медленную загрузку на 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 и ваша файловая система исправна, попробуйте удалить флэш-диски (или другие периферийные устройства?) И посмотреть, как это происходит. Удачи!