- Вопрос или проблема
- Ответ или решение
- 1. Анализ текущего времени загрузки
- 2. Отключение NetworkManager-wait-online.service
- 3. Отключение ненужных служб
- 4. Удаление неиспользуемых snap-пакетов
- 5. Ускорение загрузки с помощью параметров GRUB
- 6. Проверка и исправление UUID
- 7. Установка и настройка системных параметров
- 8. Посмотрите на оптимизацию драйверов
- Заключение
Вопрос или проблема
Извините, если мой вопрос новичковый, потому что действительно такой – но я никогда не пытался настроить свой Linux. Мне удалось сократить время загрузки моего Manjaro (не без внешней помощи) до 8-10 секунд (по данным systemd-analyze), и я хотел бы попробовать сделать то же самое с Ubuntu, но не уверен, что мне нужно делать и возможно ли это. В любом случае, это не крайне медленно, но есть серьезный недостаток на моем nvme SSD, поскольку я использую Manjaro, который загружался за 10 секунд, а сейчас с Ubuntu готовится примерно 25 секунд. Хотя Manjaro был медленным из-за тайм-аута grub, в Ubuntu grub по умолчанию установлен на 0 – это я проверил.
Вот мой systemd-analyze
и systemd-analyze blame
– если нужно что-то еще, я предоставлю это:
systemd-analyze
Запуск завершен за 8.390с (прошивка) + 4.976с (загрузчик) + 2.131с (ядро) + 9.071с (пользовательское пространство) = 24.570с
графическое.target достигнуто после 9.039с в пользовательском пространстве
systemd-analyze blame
7.076с NetworkManager-wait-online.service
5.821с plymouth-quit-wait.service
5.041с bolt.service
1.753с grub-common.service
1.727с apport.service
1.159с snapd.service
1.047с systemd-logind.service
1.032с networkd-dispatcher.service
996ms accounts-daemon.service
824ms udisks2.service
595ms polkit.service
590ms avahi-daemon.service
563ms bluetooth.service
539ms NetworkManager.service
438ms switcheroo-control.service
395ms dev-nvme0n1p2.device
365ms ModemManager.service
328ms thermald.service
314ms gdm.service
311ms wpa_supplicant.service
300ms upower.service
253ms grub-initrd-fallback.service
242ms e2scrub_reap.service
240ms gpu-manager.service
224ms rsyslog.service
224ms dev-loop1.device
223ms dev-loop0.device
184ms snap-snap\x2dstore-467.mount
183ms snap-snapd-8542.mount
182ms snap-gtk\x2dcommon\x2dthemes-1506.mount
173ms [email protected]
170ms dev-loop2.device
154ms pppd-dns.service
128ms systemd-resolved.service
127ms systemd-backlight@backlight:intel_backlight.service
119ms alsa-restore.service
118ms systemd-timesyncd.service
106ms dev-loop4.device
104ms systemd-user-sessions.service
103ms swapfile.swap
101ms snap-gnome\x2d3\x2d34\x2d1804-36.mount
(…)
А вот systemd-analyze critical-chain:
графическое.target @9.039с
└─multi-user.target @9.039с
└─kerneloops.service @8.974с +63ms
└─network-online.target @8.969с
└─NetworkManager-wait-online.service @1.891с +7.076с
└─NetworkManager.service @1.340с +539ms
└─dbus.service @1.311с
└─basic.target @1.232с
└─sockets.target @1.232с
└─snapd.socket @1.226с +5ms
└─sysinit.target @1.210с
└─systemd-backlight@backlight:intel_backlight.service @1.082с +127ms
└─system-systemd\x2dbacklight.slice @921ms
└─system.slice @433ms
└─-.slice @433ms
Я использую NVMe SSD для загрузки. И у меня установлена 20.04 Kubuntu. Я также изменил grub на задержку в 3 секунды вместо стандартных 10 секунд, чтобы иметь время при необходимости нажать клавишу.
fred@z170-focal-k:~$ systemd-analyze
Запуск завершен за 2.667с (ядро) + 5.167с (пользовательское пространство) = 7.834с
графическое.target достигнуто после 5.155с в пользовательском пространстве
Отключил NetworkManager-wait
с помощью systemctl
:
systemctl disable NetworkManager-wait-online.service
https://forums.linuxmint.com/viewtopic.php?t=282437
Сменил quiet splash
на noplymouth
, так чтобы видеть процесс загрузки, а не логотип Ubuntu. Иногда вы можете увидеть, какой процесс зависает систему. Хотя я не использую raid и шифрование, установка драйверов якобы помогает.
sudo sed -i '/GRUB_TIMEOUT=/ s/10/3/' /etc/default/grub
sudo sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/ s/"quiet splash"/"noplymouth"/' /etc/default/grub
sudo update-grub
sudo apt install libblockdev-crypto2 libblockdev-mdraid2,
Отключил принтер при перезагрузке.
Удалил все snaps, предпочитаю .deb
для большинства приложений.
sudo apt autoremove --purge snapd
Если обновления прошивки UEFI не поддерживаются (пока) и нет Thunderbolt, одна из моих систем также не имеет Bluetooth, так что я также удаляю его только на этой системе:
sudo apt-get purge fwupd
systemctl status bolt
boltctl list
systemctl mask bolt.service
sudo apt-get autoremove blueman bluez-utils bluez bluetooth
Многие с проблемами медленной загрузки переустанавливали систему и имели ссылку в fstab на неправильный UUID. Лучше подтвердить, что все UUID корректны.
lsblk -o name,fstype,size,label,mountpoint,uuid | egrep -v "^loop"
cat /etc/fstab
Только если раздел swap был переформатирован, это может быть неправильный UUID.
cat /etc/initramfs-tools/conf.d/resume
Убедитесь, что вы монтируете разделы с noatime
.
UUID=54029c4f-0cbe-413e-80ce-78a4995b0551 / ext4 noatime,errors=remount-ro 0 1
Больше деталей:
- медленная загрузка 19.10 (пробовал почти все)
- Что делает NetworkManager-wait-online.service?
- Замедленная загрузка Ubuntu 16.04 (apt-daily.service)
- Как удалить fwupd.service из загрузки?
- Мне действительно нужны apt-daily.service и apt-daily-upgrade.service?
- https://ubuntuforums.org/showthread.php?t=2436900&p=13932499#post13932499
- Ubuntu 15.04 network manager вызывает медленную загрузку
Ответ или решение
На сегодняшний день многие пользователи Linux, включая Ubuntu 20.04, стремятся оптимизировать время загрузки системы. Если вы столкнулись с временем загрузки, достигающим 25 секунд, это может быть неприятным, особенно когда другие дистрибутивы, такие как Manjaro, загружаются значительно быстрее. В данной статье представлены шаги и рекомендации по ускорению загрузки вашей системы.
1. Анализ текущего времени загрузки
Ваши результаты команд systemd-analyze
и systemd-analyze blame
предоставляют ценную информацию о том, какие части загрузки задерживают процесс. Например, служба NetworkManager-wait-online.service
занимает более 7 секунд, что является значительным временным отрезком. Рассмотрим, как это и другие службы могут быть оптимизированы.
2. Отключение NetworkManager-wait-online.service
Эта служба отвечает за ожидание установления сетевого подключения перед продолжением загрузки. Если вы не нуждаетесь в этом ожидании, вы можете отключить службу:
sudo systemctl disable NetworkManager-wait-online.service
После выполнения этой команды проверьте время загрузки снова.
3. Отключение ненужных служб
Пересмотрите список служб, загружаемых при старте. Некоторые из них могут быть отключены, если вы не используете их. Например, если вы не используете Bluetooth, рассмотрите возможность его отключения:
sudo systemctl disable bluetooth.service
4. Удаление неиспользуемых snap-пакетов
Snap-пакеты могут добавлять дополнительное время загрузки. Если возможно, используйте пакеты .deb
, которые интегрируются быстрее. Для удаления snap-пакетов выполните:
sudo apt autoremove --purge snapd
5. Ускорение загрузки с помощью параметров GRUB
Вы можете изменить параметры загрузки в файле /etc/default/grub
:
- Уменьшите
GRUB_TIMEOUT
до 0 или 1, если вы уверены, что не будете нуждаться в этом времени. - Замените строку
GRUB_CMDLINE_LINUX_DEFAULT
с"quiet splash"
на"noplymouth"
, чтобы наблюдать за процессом загрузки и выявлять узкие места.
После внесения изменений обновите конфигурацию GRUB:
sudo update-grub
6. Проверка и исправление UUID
Некорректно указанные UUID в /etc/fstab
могут привести к задержкам в загрузке. Проверьте UUID ваших разделов с помощью команды:
lsblk -o name,fstype,size,label,mountpoint,uuid
Сравните полученный вывод с записями в /etc/fstab
. Исправьте, если они не совпадают.
7. Установка и настройка системных параметров
Вы можете улучшить производительность системы путем добавления опций монтирования, таких как noatime
, для производительности файловой системы. Пример строки в /etc/fstab
может выглядеть так:
UUID=54029c4f-0cbe-413e-80ce-78a4995b0551 / ext4 noatime,errors=remount-ro 0 1
8. Посмотрите на оптимизацию драйверов
Установка правильных драйверов для вашего оборудования также может улучшить время загрузки. Убедитесь, что вы используете последние версии драйверов, особенно для графической подсистемы и сети.
Заключение
Ускорение времени загрузки Ubuntu 20.04 требует детального анализа и оптимизации ряда параметров системы. Применяя вышеописанные советы и внимательно отслеживая изменения времени загрузки, вы сможете сократить его до приемлемых значений, которые соответствуют современному уровню производительности. Не забывайте, что каждое изменение стоит тщательно тестировать, чтобы увидеть его влияние на систему.