systemd-analyze

Использование systemd-analyze для сокращения времени загрузки

Утилита systemd-analyze позволяет понять, что не так с юнитами.

Общее время загрузки

Чтобы определить общее время загрузки, выполните команду без параметров:

systemd-analyze

Она выводит информацию в 2 строки:

Startup finished in 7.168s (kernel) + 17.380s (userspace) = 24.549s
graphical.target reached after 17.227s in userspace.

Понимать это надо так:

Этап Время, с
Загрузка ядра 7.168
Службы 17.380
Итого 24.549

Время запуска отдельных юнитов

Чтобы посмотреть, какая служба сколько времени требует, выполните команду:

systemd-analyze blame

Она выводит список служб с указанием времени, которое потребовалось на их запуск:

8.698s systemd-fsck@dev-disk-by\x2duuid-bfad844d\x2db17f\x2d4f5e\x2d981c\x2d4f0d93e89944.service
6.003s NetworkManager-wait-online.service
5.491s systemd-fsck@dev-disk-by\x2duuid-7bfe3a92\x2d1445\x2d4082\x2d87a2\x2dc9c9428038b3.service
3.193s fwupd-refresh.service
1.132s man-db.service
1.090s modprobe@efi_pstore.service
 936ms smartmontools.service
 544ms dev-sda2.device
 449ms udisks2.service
 392ms e2scrub_reap.service
 366ms dpkg-db-backup.service
 352ms NetworkManager.service
 289ms user@1000.service
...

Как видно из этого вывода, больше всего времени ушло на проверку дисков. Однако, её мы отключать не будем. А вот дальше уже интереснее. Например, служба fwupd-refresh.service вряд ли нужна каждый день:

systemctl disable fwupd-refresh.service --now
Создано при помощи Hugo
Тема Stack, дизайн Jimmy