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


39

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


Если вы посмотрите на свой dmesg, вы можете найти такую ​​запись, как «новые параметры монтирования не соответствуют существующему суперблоку». Если это так, Google для этой строки, и это приведет вас к ошибке Linux, которая никогда не была исправлена
— NickT

Я не думаю, что вижу эту ошибку или подобное.
— Packwood

Почему вы чувствуете, что все становится плохо через 10 секунд? Какое сообщение, по вашему мнению, особенно беспокоит?
— Сиро Сантилли 新疆 '中心 法轮功 六四 事件

Ответы:


45

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

systemd-analyze blame

32
Да, что после? я должен остановить некоторые службы от запуска?
— Мохаммед Амин Буркади

29

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

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

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

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


Спасибо, это мне очень помогло: в целях тестирования я поставил своп на съемный caddy, никаких проблем с загрузкой, когда 14.04 не было диска, 16.04 загрузка заняла 1 или 2 минуты. Кажется, что ядро ​​3 было быстрее, чем ядро ​​4, когда не было установлено подкачки.
— Эммануил

Спасибо. ты сэкономил мне много времени. Я также обновлял систему с 14.04, поэтому возникла эта проблема.
— PaladiN

Спасибо, у меня была та же проблема с неверным UUID свопинга, как только я изменил его, чтобы он соответствовал blkid, это заняло длительное время запуска от 60 секунд до всего 5 секунд
— Брэндон Сорен Калли

2
Посмотрите в askubuntu.com/questions/38533/… ответьте для получения дополнительной информации о том, как это сделать. Это уменьшило мое время загрузки со 100 с лишним секунд до 15.
— Дмитрий

да, обновить до 17.10, но мой своп uuid совпадает с результатом "blkid"
— Василь

10

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

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

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

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


dmesgВыход в вопросе показывает , что OP имеет другую проблему.
— Byte Commander

9

Это обходное решение, но это значительно сократило время загрузки (с 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 секунд и применил это правило глобально.


2
Не могли бы вы рассказать, как это решение сократило время загрузки на 68 секунд?
— Старейшина Гик

Никаких проблем, наслаждайтесь!
— Mirek

это не работает для меня, так как после применения изменений мое время загрузки изменилось с 52 до 57 секунд.
— Woeitg

1
10с слишком низко. Это может сделать загрузку в режиме восстановления. Я использую 30-е
— Anwar

10 с сломал мою загрузку в 18.04. Сейчас ремонтирую Ubuntu в режиме восстановления.
— Пасупати

1

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


Хм. теперь кажется [длиннее!] ( pastebin.com/a5g4wHvA ) Похоже, что это происходит не так примерно через 30 секунд. "eth0: ссылка не готова" "nf_conntrack: автоматическое назначение помощников устарело, и оно скоро будет удалено. Вместо этого используйте цель CT для iptables, чтобы прикрепить помощников"
— Packwood

0

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


0

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

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 в своих сетевых подключениях, если оно не поддерживается.


0

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.