Возможно ли ускорить загрузку Ubuntu 20.04?

Вопрос или проблема

Извините, если мой вопрос новичковый, потому что действительно такой – но я никогда не пытался настроить свой 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

Больше деталей:

Ответ или решение

На сегодняшний день многие пользователи 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 требует детального анализа и оптимизации ряда параметров системы. Применяя вышеописанные советы и внимательно отслеживая изменения времени загрузки, вы сможете сократить его до приемлемых значений, которые соответствуют современному уровню производительности. Не забывайте, что каждое изменение стоит тщательно тестировать, чтобы увидеть его влияние на систему.

Оцените материал
Добавить комментарий

Капча загружается...