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

39

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

Packwood
источник
Если вы посмотрите на свой dmesg, вы можете найти такую ​​запись, как «новые параметры монтирования не соответствуют существующему суперблоку». Если это так, Google для этой строки, и это приведет вас к ошибке Linux, которая никогда не была исправлена
NickT
Я не думаю, что вижу эту ошибку или подобное.
Packwood
Почему вы чувствуете, что все становится плохо через 10 секунд? Какое сообщение, по вашему мнению, особенно беспокоит?
Сиро Сантилли 新疆 '中心 法轮功 六四 事件

Ответы:

45

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

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

joham34
источник
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 с». Передайте "бесконечность", чтобы отключить логику тайм-аута.

Максимум
источник