Userspace linux долгая загрузка

Ускорение загрузки

Содержание

ПРЕДУПРЕЖДЕНИЕ

Нижеприведённый текст рассчитан дать представление о возможностях тонкой настройки и оптимизации системы. Бездумные действия могут привести к неожиданным результатам.

Чем замеряем

первое, что нам потребуется — это не большая утилита, которая умеет по логам строить интересный график

systemd-analyze из пакета:

Для начала построим наш график до того, как что-то навыключали:

Ну графике есть три довольно значимых этапа загрузки:

Startup finished in 843ms (kernel) + 8841ms (initramfs) + 24549ms (userspace) = 34235ms

Ну с ядром мы вряд ли что-то поделаем — не пересобирать же его, а вот с остальными двумя очень даже, и так приступим.

Общие рекомендации

  • не используем софтрейд
  • не используем разделы LVM
  • отключаем и выкидываем ненужные для нашего оборудования модули и скрипты.
  • отключаем ненужные сервисы

Выкидываем лишнее из initramfs

дописываем в конец конфигурационного файла dracut:

и перегенерим наш initrd:

Некоторые опции ядра

в файле /etc/default/grub находим параметр GRUB_CMDLINE_LINUX_DEFAULT и приводим его к такому виду:

теперь необходимо перегенерить конфиг груба:

Ускоряем запуск userspace

Если у Вас выделен на отдельный раздел /home то имеет смысл к опциям его монтирования в файле /etc/fstab добавить такие строки noauto,x-systemd.automount

А дальше отключаем кучу ненужных сервисов:

Избавляемся от GRUB

Если у Вас ROSA стоит как единственная система, то видеть меню выбора загрузки вовсе не обязательно т.к. выбирать там особо нечего, а это все драгоценные секунды. И еще, такой фокус возможен только если у Вас EFI загрузка.

копируем Ваше ядро и initrd на раздел EFI (по умолчанию он должен быть смонтирован в /boot/efi)

И добавляем пункт загрузки в BIOS:

  • —part 1 — это тот самый раздел который смонтирован в /boot/efi/
  • наш диск /dev/sda имеет разделы GPT (в принципе это все дефолтовые параметры при установке системы на чистый носитель)
  • тут мы копируем текущее загруженное ядро. Если нужно загрузить другую версию ядра то строку $(uname -r) замените на нужную Вам версию.

Циферки говорят сами за себя:

Startup finished in 937ms (kernel) + 974ms (initramfs) + 2887ms (userspace) = 4800ms

Источник

Ускорить загрузку системы?

Относительно свежая установка системы. Надо сказать, что на предыдущей установке ОС наблюдалось тоже самое. Винт или нет? Как проверить? Можно ли ускорить?

поставил себе ненужнод, вот теперь и жди сиди каждый раз.

там зачем-то по-дефолту мультиюзер-таргет, а за ним и графикал-таргет, зависят от наличия сети. если уберёшь зависимость, то будет быстрее загружаться. я точно не помню, но там надо как-то редактировать юниты так, чтобы они полностью перезаписывались, а то, думаешь, сделал всё как надо, а на самом деле в онлайн-документации на одной из глубоко закопанных страниц мелким шрифтом внизу написано: «для таких-то и таких-то юнитов это не работает, делай всё по новой».

Поставь в контейнер.

Можно: запхнуть всё это в squashfs . Останется только подружить его с systemd . Да.

Если это hdd, то купить ssd

Use systemd-analyze critical-chain, Luke! Смотришь, что он тебе пишет. Отключаешь ненужное.

Во-первых, данная загрузка непоказательна, потому что сработал man-db.service . Короче, проведи измерения ещё раз.

  • конпилишь (устанавливаешь) zen- или clear-ядро;
  • собираешь минимальный initramfs (или вообще загружаешься без него, если вконпилил все необходимые модули в ядро);
  • настраиваешь сайлент бут;
  • вырубаешь все ненужные сервисы;
  • отвязываешь systemd-user-sessions.service от network.target ;
  • в случае проблем с энтропией ставишь haveged .

На моём десятилетнем ноуте с ssd такие результаты:

Все что ты перечислил, для меня это недоступная магия 90го уровня)

Как то на предыдущей системе уже пробовал отключать, в результате стали вылазить другие процессы которые долго грузились. Ок, попробую еще на этой.

А может это норма для hdd? У родственника приблизительно такой же пк 10тилетней давности и Убунту 18.04, грузится столько же долго, судя по цифрам 30сек, хотя реально кажется дольше.

Читайте также:  Видеоредактор для mac os high sierra

systemctl mask man-db.timer

Оптимизировать mkinitcpio.conf выключив ненужные модули.

Уменьшить размер лога systemd, отредактирвав /etc/systemd/journald.conf директива SystemMaxUse=

Разумеется, это не даст большого прироста, но станет получше.

А чтобы не нарваться на A stop job is running for session советую воспользоваться этим.

plymouth-read-write.service, kmod-static-nodes.service, dev-mqueue.mount, dev-hugepages.mount, e2scrub_all.service, colord.service, plymouth-quit-wait.service, e2scrub_reap.service, avahi-daemon.service, accounts-daemon.service, man-db.service

Кто это за звери и зачем они нужны?

И почему оно ждёт NM прежде чем монтировать диски, хотя должно быть наоборот.

Ну и hddtemp было бы неплохо поднимать не при запуске, а через минуту после. Только я вообще хз как это системд объяснить.

Что поделать, его не для людей делали. сис-в подобные иниты куда проще настраиваются.

Да, и для хдд 30 секунд это вообще то быстро. Особенно с таколй жирной системой.

Спасибо за ответ. А какую систему посоветуешь и с какой системой инициализации?

генту/опенрц или девуан/сисв-инит. Примитивно, почти последовательно, но на хдд может быть не медленнее. Девуан проще разумеется. Капитально завязаные на системд пакеты работать не будут — явный минус. В системе намного меньше мусора по дефолту — это плюс. По настройке запуска использовать генту хэндбук и старые мануалы 5-10 летней давности. Если что, всегда можно самому написать более-менее рабочий скрипт или дописать нужное в /etc/rc.local (кажется это в девуане а не в генту).

Да, даже если вы не собираетесь переходить на не-системд дистр (честно говоря сейчас это может стать отдельным геморроем), всё равно советую такой погонять чтобы понять как оно должно грузиться.

Ясно, спасибо! Генту — страшно еще, а Девуан возможно буду пробовать, а на сколько он отстает от Дебинан10 и на сколько по пакетам совместим?

а на сколько он отстает от Дебинан10

Конкретизируй! Что именно вызывает у тебя сомнения? Какой именно пакет?

Там нет systemd, из-за чего не работает GNOME 3 и KDE 5, ну и ещё ряд мелочей. Пакеты его по сути пакеты Debian, его репозитории — оверлей.

Отстаёт от нуля до пары месяцев. Если пакет не завязан на системд, то совместимость полная.

Кстати у меня еще Минт параллельно установлен последний, так он на глаз грузится и работает шустрее чем последний Дебиан.

Кстати, о дебианах. Летом всплывала тема, что там по умолчанию включена почти вся защита от спектра и мельтдауна и за счёт этого он лагает в gtk3 приложенях и тормозит. Нагуглите как её отключить, попробуйте. А то вдруг.

Хотя в минте тоже должны были бы включить.

Ну тут вариант сидеть либо на дедушко бабушко древнем дистре и ловить мелкое разрешение экрана в ваине , либо покупать ssd , а можешь хром ОС поставить , но будешь постоянно в телеметрии вплоть до того какие фаилы хранятся итд. Но зато бечплатно

Источник

Очень долгая загрузка системы

Система Debian Testing, gnome
После обновления вдруг стала загружаться чудовищно долго

$ systemd-analyze
Startup finished in 3.112s (kernel) + 1min 33.470s (userspace) = 1min 36.583s
graphical.target reached after 1min 33.453s in userspace

это на SSD. Ранее старт всегда был более чем быстрым.

Полдня лазил по логам, из интересного нашел только такое

************
ноя 04 23:56:30 debian systemd[1]: Started User Manager for UID 1000.
ноя 04 23:56:30 debian systemd[1238]: Started D-Bus User Message Bus.
ноя 04 23:57:47 debian systemd[1]: ssh.service: Start-pre operation timed out. Terminating.
ноя 04 23:57:47 debian systemd[1]: ssh.service: Failed with result ‘timeout’.
ноя 04 23:57:47 debian systemd[1]: Failed to start OpenBSD Secure Shell server.
ноя 04 23:57:47 debian systemd[1]: Reached target Multi-User System.
ноя 04 23:57:47 debian systemd[1]: Reached target Graphical Interface.
ноя 04 23:57:47 debian systemd[1]: Starting Update UTMP about System Runlevel Changes.
ноя 04 23:57:47 debian systemd[1]: Started Update UTMP about System Runlevel Changes.
ноя 04 23:57:47 debian systemd[1]: Startup finished in 3.112s (kernel) + 1min 33.470s (userspace) = 1min 36.583s.

Читайте также:  Windows media player 11 dlna server

получается что на запуск dbus ушло 1.17сек. как то слишком много.

Никакой экзотической ругани в логах не нашел.

sudo journalctl -u dbus.service
— Logs begin at Sun 2018-11-04 23:56:11 MSK, end at Mon 2018-11-05 00:28:04 MSK. —
ноя 04 23:56:14 debian systemd[1]: Started D-Bus System Message Bus.
ноя 04 23:56:14 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.PolicyKit1′ unit=’polkit.service’ requested by ‘:1.5’ (uid=0 pid=677 comm=«/usr/lib/accountsservice/accounts-daemon »)
ноя 04 23:56:14 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.ColorManager’ unit=’colord.service’ requested by ‘:1.9’ (uid=0 pid=696 comm=«/usr/sbin/cupsd -l »)
ноя 04 23:56:14 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.PolicyKit1’
ноя 04 23:56:14 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.ColorManager’
ноя 04 23:58:05 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.UPower’ unit=’upower.service’ requested by ‘:1.35’ (uid=1000 pid=1328 comm=«/usr/bin/gnome-shell »)
ноя 04 23:58:05 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.GeoClue2′ unit=’geoclue.service’ requested by ‘:1.35’ (uid=1000 pid=1328 comm=«/usr/bin/gnome-shell »)
ноя 04 23:58:05 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.GeoClue2’
ноя 04 23:58:05 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.UPower’
ноя 04 23:58:06 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.hostname1′ unit=’dbus-org.freedesktop.hostname1.service’ requested by ‘:1.51’ (uid=1000 pid=1448 comm=«/usr/lib/gnome-settings-daemon/gs
ноя 04 23:58:06 debian dbus-daemon[705]: [system] Activating via systemd: service name=’org.freedesktop.locale1′ unit=’dbus-org.freedesktop.locale1.service’ requested by ‘:1.57’ (uid=1000 pid=1487 comm=»/usr/lib/gnome-settings-daemon/gsd-ke
ноя 04 23:58:06 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.hostname1’
ноя 04 23:58:06 debian dbus-daemon[705]: [system] Successfully activated service ‘org.freedesktop.locale1’

посмотрел что там делается между upower.service и colord.service
стартуют без ошибок и быстро. но между ними потерялась минута с лишним.

$ sudo journalctl -u upower.service
— Logs begin at Sun 2018-11-04 23:56:11 MSK, end at Mon 2018-11-05 00:38:50 MSK. —
ноя 04 23:58:05 debian systemd[1]: Starting Daemon for power management.
ноя 04 23:58:05 debian systemd[1]: Started Daemon for power management.
$ sudo journalctl -u colord.service
— Logs begin at Sun 2018-11-04 23:56:11 MSK, end at Mon 2018-11-05 00:39:09 MSK. —
ноя 04 23:56:14 debian systemd[1]: Starting Manage, Install and Generate Color Profiles.
ноя 04 23:56:14 debian systemd[1]: Started Manage, Install and Generate Color Profiles.

Можно как то понять на что уходит время?

ноя 04 23:57:47 debian systemd[1]: ssh.service: Start-pre operation timed out. Terminating.

вот это скорее всего

нет. не это.
Убил openssh выиграл 2 секунды.

да, забыл сказать.
я так пробовал. Но ничего ужасающего там не увидел
12.395s ssh.service
1.801s systemd-udev-settle.service
1.662s udisks2.service
602ms vmware-USBArbitrator.service
507ms vboxdrv.service
479ms lvm2-activation-early.service
351ms atd.service
309ms exim4.service
285ms upower.service
240ms systemd-logind.service
234ms rc-local.service
209ms systemd-timesyncd.service
201ms nmbd.service
198ms dev-sda1.device
185ms smbd.service
169ms lvm2-activation-net.service
167ms autofs.service
162ms accounts-daemon.service
135ms systemd-fsck@dev-mapper-debianPC\x2dhome.service
125ms systemd-fsck@dev-mapper-debianPC\x2dbackup.service
106ms user@1000.service
104ms rtkit-daemon.service
102ms keyboard-setup.service
98ms acpi-support.service
97ms systemd-journald.service
79ms wpa_supplicant.service
72ms networking.service
70ms apparmor.service
66ms gdomap.service
62ms alsa-restore.service
58ms systemd-udev-trigger.service
57ms polkit.service
56ms lm-sensors.service
53ms pppd-dns.service
51ms ecbd.service
49ms nodm.service
47ms sysstat.service
43ms fglrx-atieventsd.service
41ms minissdpd.service
41ms media-data.mount
40ms gdm3.service
37ms colord.service
37ms systemd-journal-flush.service
36ms dictd.service
34ms rsyslog.service
33ms lvm2-monitor.service
31ms systemd-udevd.service
31ms lvm2-activation.service
29ms media-backup.mount
29ms lightdm.service
28ms lvm2-pvscan@8:33.service
26ms systemd-modules-load.service
23ms network-manager.service
23ms ntp.service
22ms run-rpc_pipefs.mount
21ms switcheroo-control.service
20ms binfmt-support.service
20ms kmod-static-nodes.service
18ms sys-fs-fuse-connections.mount
17ms systemd-tmpfiles-setup.service
16ms systemd-fsck@dev-sda3.service
15ms systemd-tmpfiles-setup-dev.service
15ms rpcbind.service
14ms home.mount
13ms systemd-user-sessions.service
13ms systemd-update-utmp.service
13ms rpc-statd.service
13ms lvm2-pvscan@8:20.service
12ms systemd-sysusers.service
11ms systemd-update-utmp-runlevel.service
11ms systemd-remount-fs.service
11ms lvm2-pvscan@8:17.service
10ms sys-kernel-debug.mount
10ms vboxweb-service.service
10ms var-spool.mount

с openssh надо конечно разбираться, но это не то.

Еще из интересного нашел вот это
$ sudo journalctl -u atd.service
— Logs begin at Mon 2018-11-05 00:51:23 MSK, end at Mon 2018-11-05 00:53:45 MSK. —
ноя 05 00:51:26 debian systemd[1]: Starting Deferred execution scheduler.
ноя 05 00:51:26 debian find[678]: /usr/bin/find: ‘/var/spool/cron/atjobs’: Нет такого файла или каталога
ноя 05 00:51:26 debian systemd[1]: Started Deferred execution scheduler.
ноя 05 00:51:26 debian atd[721]: Cannot change to /var/spool/cron/atjobs: No such file or directory
ноя 05 00:51:26 debian systemd[1]: atd.service: Main process exited, code=exited, status=1/FAILURE
ноя 05 00:51:26 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:26 debian systemd[1]: atd.service: Service RestartSec=100ms expired, scheduling restart.
ноя 05 00:51:26 debian systemd[1]: atd.service: Scheduled restart job, restart counter is at 1.
ноя 05 00:51:26 debian systemd[1]: Stopped Deferred execution scheduler.
ноя 05 00:51:26 debian systemd[1]: Starting Deferred execution scheduler.
ноя 05 00:51:26 debian find[807]: /usr/bin/find: ‘/var/spool/cron/atjobs’: Нет такого файла или каталога
ноя 05 00:51:26 debian systemd[1]: Started Deferred execution scheduler.
ноя 05 00:51:26 debian atd[819]: Cannot change to /var/spool/cron/atjobs: No such file or directory
ноя 05 00:51:26 debian systemd[1]: atd.service: Main process exited, code=exited, status=1/FAILURE
ноя 05 00:51:26 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:26 debian systemd[1]: atd.service: Service RestartSec=100ms expired, scheduling restart.
ноя 05 00:51:26 debian systemd[1]: atd.service: Scheduled restart job, restart counter is at 2.
ноя 05 00:51:26 debian systemd[1]: Stopped Deferred execution scheduler.
ноя 05 00:51:26 debian systemd[1]: Starting Deferred execution scheduler.
ноя 05 00:51:26 debian find[1006]: /usr/bin/find: ‘/var/spool/cron/atjobs’: Нет такого файла или каталога
ноя 05 00:51:26 debian systemd[1]: Started Deferred execution scheduler.
ноя 05 00:51:26 debian atd[1010]: Cannot change to /var/spool/cron/atjobs: No such file or directory
ноя 05 00:51:26 debian systemd[1]: atd.service: Main process exited, code=exited, status=1/FAILURE
ноя 05 00:51:26 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:26 debian systemd[1]: atd.service: Service RestartSec=100ms expired, scheduling restart.
ноя 05 00:51:26 debian systemd[1]: atd.service: Scheduled restart job, restart counter is at 3.
ноя 05 00:51:26 debian systemd[1]: Stopped Deferred execution scheduler.
ноя 05 00:51:26 debian systemd[1]: Starting Deferred execution scheduler.
ноя 05 00:51:26 debian find[1118]: /usr/bin/find: ‘/var/spool/cron/atjobs’: Нет такого файла или каталога
ноя 05 00:51:26 debian systemd[1]: Started Deferred execution scheduler.
ноя 05 00:51:26 debian atd[1123]: Cannot change to /var/spool/cron/atjobs: No such file or directory
ноя 05 00:51:26 debian systemd[1]: atd.service: Main process exited, code=exited, status=1/FAILURE
ноя 05 00:51:26 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:26 debian systemd[1]: atd.service: Service RestartSec=100ms expired, scheduling restart.
ноя 05 00:51:26 debian systemd[1]: atd.service: Scheduled restart job, restart counter is at 4.
ноя 05 00:51:26 debian systemd[1]: Stopped Deferred execution scheduler.
ноя 05 00:51:26 debian systemd[1]: Starting Deferred execution scheduler.
ноя 05 00:51:26 debian find[1164]: /usr/bin/find: ‘/var/spool/cron/atjobs’: Нет такого файла или каталога
ноя 05 00:51:26 debian systemd[1]: Started Deferred execution scheduler.
ноя 05 00:51:26 debian atd[1169]: Cannot change to /var/spool/cron/atjobs: No such file or directory
ноя 05 00:51:26 debian systemd[1]: atd.service: Main process exited, code=exited, status=1/FAILURE
ноя 05 00:51:26 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:27 debian systemd[1]: atd.service: Service RestartSec=100ms expired, scheduling restart.
ноя 05 00:51:27 debian systemd[1]: atd.service: Scheduled restart job, restart counter is at 5.
ноя 05 00:51:27 debian systemd[1]: Stopped Deferred execution scheduler.
ноя 05 00:51:27 debian systemd[1]: atd.service: Start request repeated too quickly.
ноя 05 00:51:27 debian systemd[1]: atd.service: Failed with result ‘exit-code’.
ноя 05 00:51:27 debian systemd[1]: Failed to start Deferred execution scheduler.

Читайте также:  Когда windows откажется от реестра

но что с ним делать пока не понимаю. у меня /var/spool развернут в памяти и по логике кто там должен на старте в нем свои директории и файлы создавать должны это сами делать.

Источник

Оцените статью