загрузка: восстановление и оптимизация
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
загрузка: восстановление и оптимизация
Вводная: иногда после "улучшений" системы (установка пакетов или редактирование конфигурация) система начинает: а). не грузиться, б). с большими задержками грузиться, в). не так как хочется грузиться (не те сервисы грузятся ... или наоборот те не грузятся)...
Вот о разборках с такими случаями - эта тема.
Вот о разборках с такими случаями - эта тема.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Я за много лет с Linux в такие ситуации попадал неоднократно ... но некоторые ситуации забываются ... а потом опять повторяются.
Неприятности в этот раз начались с игрищ с разделом swap - Производительность диска:
Но после такого тестирования:Вот как выглядит тестирование для раздела swap:
- запись:
- была порушена структура раздела swap,
- который хотя он и не используется, но он прописан в /etc/fstat
- и при загрузке он пытается монтироваться и не может в таком качестве...
- и эти разборки вызывают задержку в загрузке системы на 1.5-2 минуты.
Вот как этот ужас выглядел:
Код: Выделить всё
olej@ACER:~$ systemd-analyze blame
1min 10.084s apt-daily-upgrade.service
11.408s apt-daily.service
3.302s NetworkManager-wait-online.service
1.984s snapd.service
1.739s mariadb.service
1.733s upower.service
1.494s udisks2.service
1.315s ModemManager.service
976ms apache2.service
884ms accounts-daemon.service
875ms ifupdown-pre.service
809ms dev-sda2.device
...
Код: Выделить всё
# mkswap /dev/sda3
...
Приходится переписать /etc/fstat:
Код: Выделить всё
olej@ACER:/etc$ cat /etc/fstab
...
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=50f6834e-c11c-4d0d-9df2-2a0752b26d72 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=200C-8B31 /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda4 during installation
UUID=bb1a4978-8827-44ef-9637-d833fd1241a8 /home ext4 defaults 0 2
# swap was on /dev/sda3 during installation
#UUID=f44a7093-94cf-4bb2-92ba-9ca790d5e5f7 none swap sw 0 0
UUID=006cdd2f-58e7-4144-ab85-8e640cdbbc81 none swap sw 0 0
...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Но с этого цирк только начался...
После нескольких установок и удалений, кажется это связано в таким Ubuntu-говном как snapd (см. Snap пакеты) загрузка происходит так:
- меню GRUB, всё ОК...
- начало загрузки (ядра?) на чёрном экране, курсор в левом верхнем углу, секунд 30-35...
- дальше, как привычно, текстовые сообщения загрузки системы...
- заканчивающийся графическим экраном логина lightdm
Выяснить откуда взялась 2-я позиция этого марлизонского балета - я выследить никак не могу.
И здесь как-раз возникает большая необходимость в анализе загрузки ... а заодно, по случаю, оптимизацияя загрузки под свои конкретные условия (например, приостановка сервисов которые не используются).
Об этом уже было писано, по случаю, здесь: Попытка сравнения линуксов в плане для дома/для семьи.
Но теперь это целенаправленная необходимость.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
При этом изначально, до разбирательства, это выглядело как-то так:Olej писал(а): ↑25 окт 2019, 16:00- меню GRUB, всё ОК...
- начало загрузки (ядра?) на чёрном экране, курсор в левом верхнем углу, секунд 30-35...
- дальше, как привычно, текстовые сообщения загрузки системы...
- заканчивающийся графическим экраном логина lightdm
Выяснить откуда взялась 2-я позиция этого марлизонского балета - я выследить никак не могу.
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/22$ systemd-analyze blame
3.032s NetworkManager-wait-online.service
1.885s upower.service
1.367s snapd.service
1.192s mariadb.service
991ms ifupdown-pre.service
886ms networking.service
738ms snapd.seeded.service
718ms dev-sda2.device
712ms udisks2.service
675ms vboxdrv.service
640ms exim4.service
553ms ModemManager.service
...
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/22$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @4.896s
└─multi-user.target @4.896s
└─teamviewerd.service @4.793s +102ms
└─network-online.target @4.791s
└─NetworkManager-wait-online.service @1.759s +3.032s
└─NetworkManager.service @1.358s +382ms
└─dbus.service @1.349s
└─basic.target @1.338s
└─sockets.target @1.338s
└─snapd.socket @1.327s +11ms
└─sysinit.target @1.326s
└─haveged.service @1.326s
└─apparmor.service @1.155s +168ms
└─local-fs.target @1.150s
└─boot-efi.mount @1.139s +11ms
└─systemd-fsck@dev-disk-by\x2duuid-200C\x2d8B31.service @1.071s +65ms
└─dev-disk-by\x2duuid-200C\x2d8B31.device @927ms
systemd видит времена загрузок, в итоге, порядка 4-5 сек., но не видит паузы в 30-35 сек. начала загрузки!
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Думаю, что локальны Exim с его SMTP мне не нужен ... тем более, что он древний-дремучий + на него нарекают что он изрядно может жрать времени (на что и за что?):
Код: Выделить всё
olej@ACER:/etc/default$ systemctl status exim4
● exim4.service - LSB: exim Mail Transport Agent
Loaded: loaded (/etc/init.d/exim4; generated)
Active: active (running) since Thu 2019-10-24 11:55:20 EEST; 4h 30min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 1 (limit: 4915)
Memory: 5.1M
CGroup: /system.slice/exim4.service
└─1559 /usr/sbin/exim4 -bd -q30m
окт 24 11:55:20 ACER systemd[1]: Starting LSB: exim Mail Transport Agent...
окт 24 11:55:20 ACER exim4[1225]: Starting MTA: exim4.
окт 24 11:55:20 ACER systemd[1]: Started LSB: exim Mail Transport Agent.
olej@ACER:/etc/default$ systemctl stop exim4
olej@ACER:/etc/default$ systemctl status exim4
● exim4.service - LSB: exim Mail Transport Agent
Loaded: loaded (/etc/init.d/exim4; generated)
Active: inactive (dead) since Thu 2019-10-24 16:26:50 EEST; 3s ago
Docs: man:systemd-sysv-generator(8)
Process: 10476 ExecStop=/etc/init.d/exim4 stop (code=exited, status=0/SUCCESS)
окт 24 11:55:20 ACER systemd[1]: Starting LSB: exim Mail Transport Agent...
окт 24 11:55:20 ACER exim4[1225]: Starting MTA: exim4.
окт 24 11:55:20 ACER systemd[1]: Started LSB: exim Mail Transport Agent.
окт 24 16:26:50 ACER systemd[1]: Stopping LSB: exim Mail Transport Agent...
окт 24 16:26:50 ACER exim4[10476]: Stopping MTA: exim4_listener.
окт 24 16:26:50 ACER systemd[1]: exim4.service: Succeeded.
окт 24 16:26:50 ACER systemd[1]: Stopped LSB: exim Mail Transport Agent.
Код: Выделить всё
olej@ACER:/etc/default$ systemctl is-enabled exim4
exim4.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install is-enabled exim4
enabled
olej@ACER:/etc/default$ sudo systemctl disable exim4
exim4.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable exim4
olej@ACER:/etc/default$ systemctl is-enabled exim4
exim4.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install is-enabled exim4
disabled
olej@ACER:/etc/default$ sudo systemctl mask exim4
Created symlink /etc/systemd/system/exim4.service → /dev/null.
olej@ACER:/etc/default$ systemctl is-enabled exim4
masked
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
После некоторых удалений картина загрузки видится так:
Код: Выделить всё
olej@ACER:~$ systemd-analyze blame
2.795s NetworkManager-wait-online.service
1.804s upower.service
766ms dev-sda2.device
727ms udisks2.service
650ms ModemManager.service
574ms apache2.service
568ms vboxdrv.service
560ms accounts-daemon.service
467ms gpm.service
463ms systemd-logind.service
414ms lm-sensors.service
403ms rsyslog.service
400ms zramswap.service
394ms nscd.service
390ms NetworkManager.service
390ms wpa_supplicant.service
387ms systemd-journald.service
382ms zram-setup@zram0.service
...
Код: Выделить всё
olej@ACER:~$ systemd-analyze
Startup finished in 8.045s (firmware) + 6.023s (loader) + 35.323s (kernel) + 4.622s (userspace) = 54.013s
graphical.target reached after 4.608s in userspace
Но что тогда во 2-м выводе: 35.323s (kernel) ???
Откуда это?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Ещё из инструментов анализа (берём на заметку):
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/24$ systemd-analyze plot > g1.svf
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/24$ file g1.svf
g1.svf: SVG Scalable Vector Graphics image
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Предполагая, что это происходит до начала загрузки ядра, грешу на initramfs, а конкретно:
Код: Выделить всё
olej@ACER:/etc/initramfs-tools/conf.d$ ls /boot/initrd.img-`uname -r`
/boot/initrd.img-4.19.0-6-amd64
Про сборку минимального загрузочного образа (и его оптимизацию) написано много и подробно в теме initramfs.
Чтоб не мудрить и не рисковать (я сейчас ничего по существу не меняю), собрать можно косвенно, по зависимостям:
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/25$ sudo apt-get reinstall firmware-misc-nonfree
[sudo] пароль для olej:
Попробуйте ещё раз.
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, переустановлено 1 пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 3 338 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
Пол:1 http://deb.debian.org/debian buster/non-free amd64 firmware-misc-nonfree all 20190114-2 [3 338 kB]
Получено 3 338 kB за 1с (2 238 kB/s)
(Чтение базы данных … на данный момент установлен 414251 файл и каталог.)
Подготовка к распаковке …/firmware-misc-nonfree_20190114-2_all.deb …
Распаковывается firmware-misc-nonfree (20190114-2) на замену (20190114-2) …
Настраивается пакет firmware-misc-nonfree (20190114-2) …
update-initramfs: deferring update (trigger activated)
Обрабатываются триггеры для initramfs-tools (0.133+deb10u1) …
update-initramfs: Generating /boot/initrd.img-4.19.0-6-amd64
W: initramfs-tools configuration sets RESUME=UUID=006cdd2f-58e7-4144-ab85-8e640cdbbc81
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda3
I: (UUID=b1d3f04a-5f8b-4f87-8b1e-330670f0c6b3)
I: Set the RESUME variable to override this.
И он действительно упоминается в конфигурациях:
Код: Выделить всё
olej@ACER:/etc/initramfs-tools/conf.d$ cat /etc/initramfs-tools/conf.d/resume
RESUME=UUID=006cdd2f-58e7-4144-ab85-8e640cdbbc81
Код: Выделить всё
olej@ACER:/etc/initramfs-tools/conf.d$ ls -l /boot/initrd.img-`uname -r`
-rw-r--r-- 1 root root 27176261 окт 25 16:51 /boot/initrd.img-4.19.0-6-amd64
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Перезагрузка!
Вот теперь вся загрузка (это SSD) идёт "по честному" в считанные секунды от включения до полного разворачивания Cinnamon (автологин):
Код: Выделить всё
olej@ACER:~$ systemd-analyze
Startup finished in 4.779s (firmware) + 2.495s (loader) + 3.483s (kernel) + 4.731s (userspace) = 15.489s
graphical.target reached after 4.721s in userspace
Это куда приятнее, чем 1.5-2 минуты.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: загрузка: восстановление и оптимизация
Правим:
Что в каталоге /etc/initramfs-tools/conf.d нельзя хранить старые переименованные версии файла resume (например resume.1), потому что, он похоже подхватывает все файлы, найденные в каталоге:
И только, всего лишь, после того как удалить "лишние" файлы оттуда:
Обращаем внимание, что размер файла поменялся!
Характерно и важно...Olej писал(а): ↑25 окт 2019, 17:14Код: Выделить всё
olej@ACER:~$ cat /etc/initramfs-tools/conf.d/resume RESUME=UUID=b1d3f04a-5f8b-4f87-8b1e-330670f0c6b3
Что в каталоге /etc/initramfs-tools/conf.d нельзя хранить старые переименованные версии файла resume (например resume.1), потому что, он похоже подхватывает все файлы, найденные в каталоге:
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/28$ sudo apt reinstall firmware-linux-free firmware-misc-nonfree firmware-realtek
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, переустановлено 3 пакетов, для удаления отмечено 0 пакетов, и 64 пакетов не обновлено.
Необходимо скачать 3 862 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
Пол:1 http://deb.debian.org/debian buster/main amd64 firmware-linux-free all 3.4 [19,2 kB]
Пол:2 http://deb.debian.org/debian buster/non-free amd64 firmware-misc-nonfree all 20190114-2 [3 338 kB]
Пол:3 http://deb.debian.org/debian buster/non-free amd64 firmware-realtek all 20190114-2 [505 kB]
Получено 3 862 kB за 2с (2 431 kB/s)
(Чтение базы данных … на данный момент установлено 414442 файла и каталога.)
Подготовка к распаковке …/firmware-linux-free_3.4_all.deb …
Распаковывается firmware-linux-free (3.4) на замену (3.4) …
Подготовка к распаковке …/firmware-misc-nonfree_20190114-2_all.deb …
Распаковывается firmware-misc-nonfree (20190114-2) на замену (20190114-2) …
Подготовка к распаковке …/firmware-realtek_20190114-2_all.deb …
Распаковывается firmware-realtek (20190114-2) на замену (20190114-2) …
Настраивается пакет firmware-linux-free (3.4) …
update-initramfs: deferring update (trigger activated)
Настраивается пакет firmware-misc-nonfree (20190114-2) …
update-initramfs: deferring update (trigger activated)
Настраивается пакет firmware-realtek (20190114-2) …
update-initramfs: deferring update (trigger activated)
Обрабатываются триггеры для initramfs-tools (0.133+deb10u1) …
update-initramfs: Generating /boot/initrd.img-4.19.0-6-amd64
W: initramfs-tools configuration sets RESUME=UUID=006cdd2f-58e7-4144-ab85-8e640cdbbc81
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda3
I: (UUID=b1d3f04a-5f8b-4f87-8b1e-330670f0c6b3)
I: Set the RESUME variable to override this.
olej@ACER:~/2019_WORK/HISTORY/10/28$ ls -l /boot/init*-`uname -r`*
-rw-r--r-- 1 root root 27175905 окт 30 13:19 /boot/initrd.img-4.19.0-6-amd64
И только, всего лишь, после того как удалить "лишние" файлы оттуда:
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/10/28$ sudo apt reinstall firmware-linux-free firmware-misc-nonfree firmware-realtek
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, переустановлено 3 пакетов, для удаления отмечено 0 пакетов, и 64 пакетов не обновлено.
Необходимо скачать 3 862 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
Пол:1 http://deb.debian.org/debian buster/main amd64 firmware-linux-free all 3.4 [19,2 kB]
Пол:2 http://deb.debian.org/debian buster/non-free amd64 firmware-misc-nonfree all 20190114-2 [3 338 kB]
Пол:3 http://deb.debian.org/debian buster/non-free amd64 firmware-realtek all 20190114-2 [505 kB]
Получено 3 862 kB за 1с (2 831 kB/s)
(Чтение базы данных … на данный момент установлено 414442 файла и каталога.)
Подготовка к распаковке …/firmware-linux-free_3.4_all.deb …
Распаковывается firmware-linux-free (3.4) на замену (3.4) …
Подготовка к распаковке …/firmware-misc-nonfree_20190114-2_all.deb …
Распаковывается firmware-misc-nonfree (20190114-2) на замену (20190114-2) …
Подготовка к распаковке …/firmware-realtek_20190114-2_all.deb …
Распаковывается firmware-realtek (20190114-2) на замену (20190114-2) …
Настраивается пакет firmware-linux-free (3.4) …
update-initramfs: deferring update (trigger activated)
Настраивается пакет firmware-misc-nonfree (20190114-2) …
update-initramfs: deferring update (trigger activated)
Настраивается пакет firmware-realtek (20190114-2) …
update-initramfs: deferring update (trigger activated)
Обрабатываются триггеры для initramfs-tools (0.133+deb10u1) …
update-initramfs: Generating /boot/initrd.img-4.19.0-6-amd64
olej@ACER:~/2019_WORK/HISTORY/10/28$ ls -l /boot/initrd.img-4.19.0-6-amd64
-rw-r--r-- 1 root root 27175980 окт 30 13:34 /boot/initrd.img-4.19.0-6-amd64
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 21 гость