загрузка: восстановление и оптимизация

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 03 сен 2021, 20:02

Olej писал(а):
03 сен 2021, 19:51
Хотелось бы запретить старт сервиса при каждой перезагрузке:

Код: Выделить всё

root@nvidia:/etc/systemd# systemctl is-enabled fstrim.service
static
Но это легко хотеть, но не легко сделать :lol: - Как использовать Systemctl для управления службами Systemd и юнитами
В этом контексте static означает, что в файле unit не содержится раздел «install», который используется для включения устройства. Таким образом, эти блоки не могут быть включены. Обычно это означает, что устройство выполняет одноразовое действие или используется только как зависимость другого устройства и не должно запускаться само по себе.

Код: Выделить всё

root@nvidia:/etc/systemd# systemctl disable fstrim.service

root@nvidia:/etc/systemd# systemctl is-enabled fstrim.service
static
Мёртвому припарки! :-o

Разве что так:

Код: Выделить всё

root@nvidia:/etc/systemd# systemctl mask fstrim.service
Created symlink /etc/systemd/system/fstrim.service → /dev/null.

root@nvidia:/etc/systemd# systemctl is-enabled fstrim.service
masked

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 03 сен 2021, 20:24

Olej писал(а):
03 сен 2021, 20:02
Разве что так:
Перезагрузка...
Olej писал(а):
25 авг 2021, 16:47

Код: Выделить всё

olej@nvidia:~/2021_WORK/ACCOUNTS/Yandex$ systemd-analyze blame | head -n 25
5.813s fstrim.service                                                                  
3.271s man-db.service                                                                  
2.413s NetworkManager-wait-online.service                                              
2.276s udisks2.service                                                                 
1.961s mintupdate-automation-autoremove.service
...
Стало - в этом смысле гораздо лучше:

Код: Выделить всё

olej@nvidia:~$ systemd-analyze blame | head -n 10
2.108s NetworkManager-wait-online.service                                              
1.109s nfs-server.service                                                              
 874ms dev-zram0.device                                                                
 854ms dev-zram2.device                                                                
 818ms tor@default.service                                                             
 815ms dev-zram1.device                                                                
 785ms dev-sda1.device                                                                 
 782ms dev-zram3.device                                                                
 703ms udisks2.service                                                                 
 603ms ubuntu-system-adjustments.service                
Но!:

Код: Выделить всё

olej@nvidia:~$ systemd-analyze
Startup finished in 34.373s (kernel) + 4.337s (userspace) = 38.711s 
graphical.target reached after 4.324s in userspace
Это не то что хотелось бы ...
И большую часть начальной загрузки, как я вижу но не успеваю зафиксировать - это какая-то проверка-очистка файловой системы (какой?).

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 12:29

Olej писал(а):
03 сен 2021, 20:24
Это не то что хотелось бы ...
И большую часть начальной загрузки, как я вижу но не успеваю зафиксировать - это какая-то проверка-очистка файловой системы (какой?).
- именно на этом компьютере...
- на котором система не переустанавливалась, а только обновлялась с 2012 года, раз 6-7-8 обновление релиза системы - начиная ещё с Mint 17...

Код: Выделить всё

olej@nvidia:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 20.2
Release:	20.2
Codename:	uma
- с неоднократными непростыми восстановлениями и откатами...
- с неоднократным апгрейдом железа: из NVIDIA адаптера который был потом снят, с заменой HDD на SSD...

Код: Выделить всё

olej@nvidia:~$ inxi -Gxxx
Graphics:  Device-1: Intel Core Processor Integrated Graphics driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0042 
           Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa alternate: nvidia 
           resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics (ILK) v: 2.1 Mesa 21.0.3 direct render: Yes 

Код: Выделить всё

olej@nvidia:~$ inxi -Dxxx
Drives:    Local Storage: total: 387.53 GiB used: 216.69 GiB (55.9%) 
           ID-1: /dev/sda vendor: Silicon Power model: SPCC Solid State Disk size: 238.47 GiB speed: 3.0 Gb/s 
           serial: 0E74070A14BC00128320 rev: 61.3 scheme: MBR 
           ID-2: /dev/sdb vendor: Seagate model: STM3160318AS size: 149.05 GiB speed: 3.0 Gb/s rotation: 7200 rpm 
           serial: 9VY0E3WK rev: CC35 scheme: MBR 
Непонятно почему при каждой перезагрузке идёт достаточно долгая (~35 секунд) проверка системного SSD ... не могу поймать ситуацию. Это уже вопрос принципиальный - откуда это может происходить?
На других компьютерах такого (по крайней мере в такой степени) не наблюдается ... на ноутбуке с Fedora вся загрузка до графического экрана идёт 8 секунд.

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 14:07

Olej писал(а):
04 сен 2021, 12:29
Непонятно почему при каждой перезагрузке идёт достаточно долгая (~35 секунд) проверка системного SSD ... не могу поймать ситуацию. Это уже вопрос принципиальный - откуда это может происходить?
Нашёл! :!:

Код: Выделить всё

olej@nvidia:~$ systemd-analyze
Startup finished in 3.609s (kernel) + 4.771s (userspace) = 8.380s
graphical.target reached after 4.755s in userspace
Теперь вместо 35 секунд - 8 секунд ;-)
Ну зараза же эта ситуация оказалась! :-o :shock:

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 14:08

Olej писал(а):
04 сен 2021, 14:07
Ну зараза же эта ситуация оказалась!
По порядку...
Конспектирую для себя, но может ещё кому пригодится...
Ключевой фразой оказалось сообщение при загрузке (успел подсмотреть):
gave up waiting for suspend/resume device
Как оказалось - я уже 2 или 3 раза попадал в эту ситуацию, и она здесь в теме уже описана, но без детального решения...
(на некоторую ясность натолкнуло обсуждение gave up waiting for suspend/resume device - но там они нашли решение таки не выяснив причину)...
Причина опять же в параметре RESUME для initramfs-tools:

Код: Выделить всё

olej@nvidia:~$ cat /etc/initramfs-tools/conf.d/resume
RESUME=UUID=692eb628-1869-49e5-af7f-2b9dbd034471

Код: Выделить всё

olej@nvidia:~$ blkid
/dev/sdb1: UUID="64d5075f-c466-44d9-92a3-f8a74276a440" TYPE="ext4" PARTUUID="7c8982da-01"
/dev/sdb2: UUID="70a27ef1-d2c3-4017-975b-645e184be739" TYPE="ext4" PARTUUID="7c8982da-02"
/dev/sda1: UUID="d5247f95-69b6-47b0-baa6-c71dd689a78f" TYPE="ext4" PARTUUID="000bfcf6-01"
/dev/sda2: UUID="3ee8f840-4b98-4984-8ab2-b4aa4cb2db1e" TYPE="ext4" PARTUUID="000bfcf6-02"
Как видно, в RESUME записан UUID которого нет в системе - это старый UUIS swap-раздела, и произошло это когда я менял HDD на SSD и по ходу swap-раздел на swap-файл.

Код: Выделить всё

root@nvidia:/etc# swapon
NAME       TYPE        SIZE USED PRIO
/dev/zram0 partition    64M   0B  100
/dev/zram1 partition    64M   0B  100
/dev/zram2 partition 466,6M   0B    5
/dev/zram3 partition 466,6M   0B  100
/swapfile  file          3G   0B   -2
Но поскольку у swap-файла нет UUID (mkswap создаёт для него UUID, но это фикция для файла), то нужно что-то изобретать что делатьс RESUME=...

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 14:24

Olej писал(а):
04 сен 2021, 14:08
Но поскольку у swap-файла нет UUID (mkswap создаёт для него UUID, но это фикция для файла), то нужно что-то изобретать что делатьс RESUME=...
Выясняю что это за зверь вообще... Это не так просто выяснить оказалось... В конце-концов нахожу:

Код: Выделить всё

olej@nvidia:~$ man initramfs.conf

INITRAMFS.CONF(5)                                     File Formats Manual                                    INITRAMFS.CONF(5)

NAME
       initramfs.conf - configuration file for mkinitramfs

DESCRIPTION
       The behaviour of mkinitramfs can be modified by its configuration file.

       Each line in the file can be a configuration variable, a blank line, or a comment. The value of an variable is assigned
       by an statement of the form: name=[value]

       Configuration options  can  be  broken  out  into  configuration  snippets  and  placed  in  individual  files  in  the
       /etc/initramfs-tools/conf.d  directory.   Files in this directory are always read after the main configuration file, so
       you can override the settings in the main config file without editing it directly.

...
VARIABLES FOR LOCAL BOOT
        RESUME
              Specifies the device used for suspend-to-disk (hibernation), which the initramfs code should attempt  to  resume
              from.   If  this  is  not defined or is set to auto, mkinitramfs will automatically select the largest available
              swap partition.  Set it to none to disable resume from disk.
Это один из параметров, который только и исключительно относится к гибернации (для моего стационарного компа это совершеннейшая бессмыслица!) и указывает начальному имиджу initrd.img-* из какого swap-раздела производить "просыпание" системы при гибернации. Но для этого swap-раздел должен быть как минимум в 2 раза больше памяти RAM ... а у меня:

Код: Выделить всё

olej@nvidia:~$ free
              всего        занято        свободно      общая  буф./врем.   доступно
Память:     3822192     1440572      227052      503080     2154568     1591416
Подкачка:     1498848           0     1498848

Код: Выделить всё

root@nvidia:/etc# swapon
NAME       TYPE        SIZE USED PRIO
/dev/zram0 partition    64M   0B  100
/dev/zram1 partition    64M   0B  100
/dev/zram2 partition 466,6M   0B    5
/dev/zram3 partition 466,6M   0B  100
/swapfile  file          3G   0B   -2
Картина в точности "до наоборот".
Какая нахрен тут может быть гибернация? :-o :evil:

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 14:29

Olej писал(а):
04 сен 2021, 14:24
Какая нахрен тут может быть гибернация?
Как решить? Радикально...
Правлю (комментарии допускаются как man говорит):

Код: Выделить всё

olej@nvidia:~$ cat /etc/initramfs-tools/conf.d/resume
#RESUME=UUID=692eb628-1869-49e5-af7f-2b9dbd034471
RESUME=none
Перегенерация образов:

Код: Выделить всё

root@nvidia:~# update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-5.4.0-81-generic
Warning: No support for locale: ru_RU.utf8
update-initramfs: Generating /boot/initrd.img-5.4.0-80-generic
Warning: No support for locale: ru_RU.utf8
Свежак! (см. даты):

Код: Выделить всё

olej@nvidia:~$ ls -lt /boot/initrd.img*
-rw-r--r-- 1 root root 67417643 сен  4 13:58 /boot/initrd.img-5.4.0-80-generic
-rw-r--r-- 1 root root 67418716 сен  4 13:58 /boot/initrd.img-5.4.0-81-generic
lrwxrwxrwx 1 root root       27 сен  3 19:58 /boot/initrd.img -> initrd.img-5.4.0-81-generic
lrwxrwxrwx 1 root root       27 сен  3 19:58 /boot/initrd.img.old -> initrd.img-5.4.0-80-generic
Reboot
Всё:

Код: Выделить всё

olej@nvidia:~$ systemd-analyze
Startup finished in 3.609s (kernel) + 4.771s (userspace) = 8.380s
graphical.target reached after 4.755s in userspace
Сколько ж крови он у меня выпил, гад ... со своей гибернацией! :twisted:

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: загрузка: восстановление и оптимизация

Непрочитанное сообщение Olej » 04 сен 2021, 14:32

Olej писал(а):
04 сен 2021, 14:29
Сколько ж крови он у меня выпил, гад ... со своей гибернацией!
Теперь можно даже реабилитировать незаслуженно гнобленный fstrim.service - пусть тримингует себе SSD на здоровье:

Код: Выделить всё

root@nvidia:/etc# systemctl unmask fstrim.service
Removed /etc/systemd/system/fstrim.service.

root@nvidia:/etc# systemctl is-enabled fstrim.service
static
После перезагрузки:

Код: Выделить всё

olej@nvidia:~$ systemd-analyze
Startup finished in 3.330s (kernel) + 4.531s (userspace) = 7.862s 
graphical.target reached after 4.502s in userspace

Код: Выделить всё

olej@nvidia:~$ systemd-analyze blame | head -n 25
1.945s NetworkManager-wait-online.service                                              
1.121s nfs-server.service                                                              
1.044s dev-zram0.device                                                                
1.030s dev-sda1.device                                                                 
 988ms dev-zram1.device                                                                
 928ms dev-zram3.device                                                                
 909ms dev-zram2.device                                                                
 703ms tor@default.service                                                             
 682ms udisks2.service                                                                 
 551ms smartmontools.service                                                           
 505ms systemd-logind.service                                                          
 493ms ubuntu-system-adjustments.service                                               
 468ms accounts-daemon.service                                                         
 453ms pure-ftpd.service                                                               
 438ms alsa-restore.service                                                            
 399ms loadcpufreq.service                                                             
 342ms systemd-resolved.service                                                        
 321ms NetworkManager.service                                                          
 312ms networking.service                                                              
 310ms systemd-udevd.service                                                           
 301ms e2scrub_reap.service                                                            
 237ms upower.service                                                                  
 224ms zram-config.service                                                             
 221ms zramswap.service                                                                
 217ms ModemManager.service                                                            
Теперь субъективно загрузка, от самого начала до самого конца, идёт не более 10 сек. - вот это то что надо!

Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость