Когда Linux загружается слишком долго, то сначала необходимо определить, какие службы тормозят процесс. Для этого в
systemd есть инструмент - systemd-analyze, который помогает выявить узкие места при старте системы.1️⃣ Анализ общего времени загрузки
systemd-analyze
Вывод покажет время, затраченное на:
прошивку (firmware)
загрузчик (bootloader)
ядро (kernel)
службы systemd (userspace)
Пример вывода:
Startup finished in 3.2s (kernel) + 5.1s (userspace) = 8.3s
2️⃣ Поиск медленных сервисов
systemd-analyze blame
Этот список покажет службы, которые загружаются дольше всего:
10.543s networkd-wait-online.service
3.213s apt-daily.service
1.145s snapd.service
Самый медленный - networkd-wait-online.service. Его можно отключить, если он не нужен:
sudo systemctl disable --now networkd-wait-online.service
3️⃣ Граф зависимостей сервисов. Чтобы увидеть все зависимости и их время загрузки, используйте:
systemd-analyze critical-chain
Этот граф покажет какие службы блокируют запуск других.
📌 Если какая-то служба загружается слишком долго, её можно отключить или перевести в "ленивый" запуск:
sudo systemctl disable имя_сервиса
sudo systemctl mask имя_сервиса
4️⃣ Визуализация загрузки в SVG. Чтобы построить график загрузки системы, выполните:
systemd-analyze plot > boot.svg
Откройте boot.svg в браузере - увидите наглядную диаграмму загрузки сервисов.
5️⃣ Ускорение загрузки с systemctl
Отключите ненужные службы
sudo systemctl disable --now service_name
Включите параллельную загрузку. В файле
/etc/default/grub замените строку:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
на
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.legacy_boot=false"
Затем примените изменения:
sudo update-grub
BashTex 📱 #linux