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

Установка, обновление, настройка Linux и программ

Модераторы: Olej, vikos, adminn

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

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

Непрочитанное сообщение Olej » 25 окт 2019, 20:00

Olej писал(а):
25 окт 2019, 16:00
И здесь как-раз возникает большая необходимость в анализе загрузки ... а заодно, по случаю, оптимизацияя загрузки под свои конкретные условия (например, приостановка сервисов которые не используются).
С задержками загрузки, после изменений swap раздела, возникающими в 2-х разных аспектах (запись в /etc/fstab + в сгенерированном initramfs), разобрались.

А вот с сервисами по минимуму под конкретный компьютер хочу посмотреть...
Вот что видит на этот счёт systemd:

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

olej@ACER:~/2019_WORK/HISTORY/10/25$ sudo systemctl list-units --type service | grep running
accounts-daemon.service                                                                   loaded active running Accounts Service                                                           
alsa-state.service                                                                        loaded active running Manage Sound Card State (restore and store)                                
apache2.service                                                                           loaded active running The Apache HTTP Server                                                     
avahi-daemon.service                                                                      loaded active running Avahi mDNS/DNS-SD Stack                                                    
colord.service                                                                            loaded active running Manage, Install and Generate Color Profiles                                
cron.service                                                                              loaded active running Regular background program processing daemon                               
cups-browsed.service                                                                      loaded active running Make remote CUPS printers available locally                                
cups.service                                                                              loaded active running CUPS Scheduler                                                             
dbus.service                                                                              loaded active running D-Bus System Message Bus                                                   
getty@tty1.service                                                                        loaded active running Getty on tty1                                                              
gpm.service                                                                               loaded active running LSB: gpm sysv init script                                                  
haveged.service                                                                           loaded active running Entropy daemon using the HAVEGE algorithm                                  
irqbalance.service                                                                        loaded active running irqbalance daemon                                                          
lightdm.service                                                                           loaded active running Light Display Manager                                                      
ModemManager.service                                                                      loaded active running Modem Manager                                                              
mpd-sima.service                                                                          loaded active running MPD_sima autoqueue utility                                                 
NetworkManager.service                                                                    loaded active running Network Manager                                                            
nscd.service                                                                              loaded active running Name Service Cache Daemon                                                  
ntp.service                                                                               loaded active running Network Time Service                                                       
osspd.service                                                                             loaded active running OSS Proxy Daemon                                                           
polkit.service                                                                            loaded active running Authorization Manager                                                      
rsyslog.service                                                                           loaded active running System Logging Service                                                     
rtkit-daemon.service                                                                      loaded active running RealtimeKit Scheduling Policy Service                                      
smartd.service                                                                            loaded active running Self Monitoring and Reporting Technology (SMART) Daemon                    
ssh.service                                                                               loaded active running OpenBSD Secure Shell server                                                
systemd-journald.service                                                                  loaded active running Journal Service                                                            
systemd-logind.service                                                                    loaded active running Login Service                                                              
systemd-udevd.service                                                                     loaded active running udev Kernel Device Manager                                                 
udisks2.service                                                                           loaded active running Disk Manager                                                               
unattended-upgrades.service                                                               loaded active running Unattended Upgrades Shutdown                                               
upower.service                                                                            loaded active running Daemon for power management                                                
user@1000.service                                                                         loaded active running User Manager for UID 1000                                                  
wpa_supplicant.service                                                                    loaded active running WPA supplicant                                                             

olej@ACER:~/2019_WORK/HISTORY/10/25$ sudo systemctl list-units --type service | grep running | wc -l
33
А вот что видит в старом стиле sysinit:

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

olej@ACER:~$ /sbin/service --status-all | grep [+]
 [ + ]  apache2
 [ + ]  apparmor
 [ + ]  avahi-daemon
 [ + ]  binfmt-support
 [ + ]  cron
 [ + ]  cups
 [ + ]  cups-browsed
 [ + ]  dbus
 [ + ]  gpm
 [ + ]  haveged
 [ + ]  hddtemp
 [ + ]  irqbalance
 [ + ]  kmod
 [ + ]  lightdm
 [ + ]  lm-sensors
 [ + ]  mpd-sima
 [ + ]  network-manager
 [ + ]  nscd
 [ + ]  ntp
 [ + ]  openvpn
 [ + ]  osspd
 [ + ]  procps
 [ + ]  rsyslog
 [ + ]  smartmontools
 [ + ]  ssh
 [ + ]  udev
 [ + ]  unattended-upgrades

olej@ACER:~$ /sbin/service --status-all | grep [+] | wc -l
27
Сразу добавлю, что из стандартного (установочного) набора Debiam мной уже исключены (остановлены):
apt-daily-upgrade.service, apt-daily.service, exim4.service, mariadb.service
И наоборот, мной добавлены сервисы:
ntp.service, smartd.service, ssh.service

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

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

Непрочитанное сообщение Olej » 25 окт 2019, 22:55

Olej писал(а):
25 окт 2019, 20:00
А вот с сервисами по минимуму под конкретный компьютер хочу посмотреть...
Как мне кажется, я в своих условиях вполне могу убрать сервисы:

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

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl status cron
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-10-25 17:15:40 EEST; 5h 31min ago
     Docs: man:cron(8)
 Main PID: 870 (cron)
    Tasks: 1 (limit: 4915)
   Memory: 1.3M
   CGroup: /system.slice/cron.service
           └─870 /usr/sbin/cron -f

окт 25 22:09:01 ACER CRON[10818]: pam_unix(cron:session): session closed for user root
окт 25 22:17:01 ACER CRON[10950]: pam_unix(cron:session): session opened for user root by (uid=0)
окт 25 22:17:01 ACER CRON[10951]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
окт 25 22:17:01 ACER CRON[10950]: pam_unix(cron:session): session closed for user root
окт 25 22:30:01 ACER CRON[11150]: pam_unix(cron:session): session opened for user root by (uid=0)
окт 25 22:30:01 ACER CRON[11151]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron s
окт 25 22:30:01 ACER CRON[11150]: pam_unix(cron:session): session closed for user root
окт 25 22:39:01 ACER CRON[11797]: pam_unix(cron:session): session opened for user root by (uid=0)
окт 25 22:39:01 ACER CRON[11798]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessioncle
окт 25 22:39:01 ACER CRON[11797]: pam_unix(cron:session): session closed for user root

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl stop cron

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl desable cron
Unknown operation desable.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl disable cron
Synchronizing state of cron.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable cron
Removed /etc/systemd/system/multi-user.target.wants/cron.service.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl mask cron
Created symlink /etc/systemd/system/cron.service → /dev/null.

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

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl status avahi-daemon
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-10-25 17:15:40 EEST; 5h 35min ago
 Main PID: 864 (avahi-daemon)
   Status: "avahi-daemon 0.7 starting up."
    Tasks: 2 (limit: 4915)
   Memory: 1.3M
   CGroup: /system.slice/avahi-daemon.service
           ├─864 avahi-daemon: running [ACER.local]
           └─907 avahi-daemon: chroot helper

окт 25 17:15:40 ACER avahi-daemon[864]: No service file found in /etc/avahi/services.
окт 25 17:15:40 ACER avahi-daemon[864]: Network interface enumeration completed.
окт 25 17:15:40 ACER avahi-daemon[864]: Server startup complete. Host name is ACER.local. Local service cookie is 2473315401.
окт 25 17:15:40 ACER systemd[1]: Started Avahi mDNS/DNS-SD Stack.
окт 25 17:15:43 ACER avahi-daemon[864]: Joining mDNS multicast group on interface enp2s0.IPv4 with address 192.168.1.103.
окт 25 17:15:43 ACER avahi-daemon[864]: New relevant interface enp2s0.IPv4 for mDNS.
окт 25 17:15:43 ACER avahi-daemon[864]: Registering new address record for 192.168.1.103 on enp2s0.IPv4.
окт 25 17:15:45 ACER avahi-daemon[864]: Joining mDNS multicast group on interface enp2s0.IPv6 with address fe80::c23f:d5ff:fe51:9a5b.
окт 25 17:15:45 ACER avahi-daemon[864]: New relevant interface enp2s0.IPv6 for mDNS.
окт 25 17:15:45 ACER avahi-daemon[864]: Registering new address record for fe80::c23f:d5ff:fe51:9a5b on enp2s0.*.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl stop avahi-daemon
Job for avahi-daemon.service canceled.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl disable avahi-daemon
Synchronizing state of avahi-daemon.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable avahi-daemon
Removed /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
Removed /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl mask avahi-daemon
Created symlink /etc/systemd/system/avahi-daemon.service → /dev/null.

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

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl status apparmor
● apparmor.service - Load AppArmor profiles
   Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
   Active: active (exited) since Fri 2019-10-25 17:15:40 EEST; 5h 37min ago
     Docs: man:apparmor(7)
           https://gitlab.com/apparmor/apparmor/wikis/home/
 Main PID: 806 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
   CGroup: /system.slice/apparmor.service

окт 25 17:15:40 ACER systemd[1]: Starting Load AppArmor profiles...
окт 25 17:15:40 ACER apparmor.systemd[806]: Restarting AppArmor
окт 25 17:15:40 ACER apparmor.systemd[806]: Reloading AppArmor profiles
окт 25 17:15:40 ACER apparmor.systemd[806]: Skipping profile in /etc/apparmor.d/disable: usr.bin.thunderbird
окт 25 17:15:40 ACER systemd[1]: Started Load AppArmor profiles.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl disable apparmor
Synchronizing state of apparmor.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable apparmor
Removed /etc/systemd/system/sysinit.target.wants/apparmor.service.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl mask apparmor
Created symlink /etc/systemd/system/apparmor.service → /dev/null.

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

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl status cups-browsed.service
● cups-browsed.service - Make remote CUPS printers available locally
   Loaded: loaded (/lib/systemd/system/cups-browsed.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-10-25 17:15:40 EEST; 5h 40min ago
 Main PID: 957 (cups-browsed)
    Tasks: 3 (limit: 4915)
   Memory: 3.8M
   CGroup: /system.slice/cups-browsed.service
           └─957 /usr/sbin/cups-browsed

окт 25 17:15:40 ACER systemd[1]: Started Make remote CUPS printers available locally.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl stop cups-browsed.service

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl disable cups-browsed.service
Synchronizing state of cups-browsed.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable cups-browsed
Removed /etc/systemd/system/multi-user.target.wants/cups-browsed.service.

olej@ACER:~/2019_WORK/HISTORY/10/22$ sudo systemctl mask cups-browsed.service
Created symlink /etc/systemd/system/cups-browsed.service → /dev/null.

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

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

Непрочитанное сообщение Olej » 25 окт 2019, 23:53

Olej писал(а):
25 окт 2019, 22:55
Как мне кажется, я в своих условиях вполне могу убрать сервисы:
И теперь параметры загрузки выглядят так:

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

olej@ACER:~$ systemd-analyze
Startup finished in 4.743s (firmware) + 2.439s (loader) + 3.508s (kernel) + 4.594s (userspace) = 15.285s 
graphical.target reached after 4.583s in userspace
olej@ACER:~$ 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.583s
└─multi-user.target @4.583s
  └─hddtemp.service @4.573s +9ms
    └─network-online.target @4.572s
      └─NetworkManager-wait-online.service @1.535s +3.036s
        └─NetworkManager.service @1.273s +258ms
          └─dbus.service @1.252s
            └─basic.target @1.181s
              └─sockets.target @1.181s
                └─uuidd.socket @1.181s
                  └─sysinit.target @1.172s
                    └─systemd-update-utmp.service @1.163s +9ms
                      └─systemd-tmpfiles-setup.service @1.120s +40ms
                        └─local-fs.target @1.117s
                          └─boot-efi.mount @1.104s +12ms
                            └─systemd-fsck@dev-disk-by\x2duuid-200C\x2d8B31.service @1.031s +71ms
                              └─dev-disk-by\x2duuid-200C\x2d8B31.device @978ms
Время загрузки снизилось не сильно, на ~1/2 сек. (там уже нечего сокращать), но это и не было целью.
Главное - освободить неиспользуемые ресурсы.

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

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

Непрочитанное сообщение Olej » 28 окт 2019, 16:41

Olej писал(а):
25 окт 2019, 17:22
15.5 секунд из которых запуск графического DE!
Характерно и интересно... это нужно отметить, что:

- systemd-analyze не включает в итоговое время задержки тайм-аут, указанный для автологина DM (lightdm) ... или оно считает время до временной точки графического запроса login? (я бы на их месте так и сделал ;-) ) - см. автологин при входе;

- но systemd-analyze полностью включает в итоговое время загрузки ту паузу меню загрузчика GRUB, которую вы допускаете на старте системы...

- вот результат, когда я практически мгновенно выбираю дефаултную позицию меню GRUB нажатием Enter:

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

olej@ACER:~$ systemd-analyze
Startup finished in 4.738s (firmware) + 2.403s (loader) + 3.455s (kernel) + 4.505s (userspace) = 15.103s 
graphical.target reached after 4.495s in userspace

- а вот другой результат, когда GRUB полностью выжидает свой указанный тайм-аут, и только после этого идёт в загрузку (ту же дефаултную):

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

olej@ACER:~$ systemd-analyze
Startup finished in 4.740s (firmware) + 6.028s (loader) + 3.492s (kernel) + 4.692s (userspace) = 18.953s 
graphical.target reached after 4.680s in userspace
- разница в том и другом случае - 4 сек., которые (примерно) и указаны как тайм-аут меню GRUB:

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

root@ACER:/etc/default# cat /etc/default/grub | grep TIMEOUT
GRUB_TIMEOUT=5

Это всё нужно знать при интерпретации результатов анализа времён загрузки!

Ответить

Вернуться в «Администрирование Linux»

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

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