Есть ли способ протоколировать определенное поведение программы?

mercurial@providence:~$ systemd-analyze
Startup finished in 7.913s (kernel) + 20.621s (userspace) = 28.534s 
graphical.target reached after 20.605s in userspace

enter image description here

Вот чего я добился после исправления некоторых проблем. Как видите, время запуска постепенно уменьшается с 1 мин 5 сек до 28 сек.

1. sudo update -initramfs -u -k all :Время ядра

Это кричало во все горло, что я пытался возобновить работу с устройства, которое не было найдено, т.е. у меня был блок возобновленияgrub.cfg

cryptsetup: ERROR: Couldn't resolve device 
    UUID=fee92c6d-7b60-4014-a66b-c48cd9094162

Это просто баг,

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries 
    nor crypto modules. If that's on purpose, you may want to uninstall the 
    'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs 
    integration and avoid this warning.

И эта замечательная строка кода просила меня объявить новый раздел подкачки, чтобы моя система могла возобновить работу с него,

I: The initramfs will attempt to resume from /dev/sda7
I: (UUID=c0198c37-f28b-41f5-bb0f-37d575e86896)
I: Set the RESUME variable to override this.

Я так и сделал,

mercurial@providence:~$ cat /etc/initramfs-tools/conf.d/resume
RESUME=UUID=c0198c37-f28b-41f5-bb0f-37d575e86896

2. systemd -анализировать вину :Userspace Time

Моему сетевому менеджеру потребовалось некоторое время, чтобы подключиться к Интернету, поэтому все, что мне нужно было сделать, это замаскировать его.

sudo systemctl mask NetworkManager-wait-online.service

РЕЗУЛЬТАТЫ

Теперь у меня время загрузки сократилось до 28 секунд, и вот моя вина и критическая цепочка,

mercurial@providence:~$ 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 @20.605s
└─udisks2.service @9.969s +10.636s
  └─basic.target @9.515s
    └─sockets.target @9.515s
      └─dbus.socket @9.515s
        └─sysinit.target @9.333s
          └─swap.target @9.333s
            └─dev-disk-by\x2duuid-c0198c37\x2df28b\x2d41f5\x2dbb0f\x2d37d575e86896.swap @8.843s +490ms
              └─dev-disk-by\x2duuid-c0198c37\x2df28b\x2d41f5\x2dbb0f\x2d37d575e86896.device @8.841s
mercurial@providence:~$ systemd-analyze blame
         10.636s udisks2.service
          6.628s dev-sda6.device
          5.486s ModemManager.service
          4.935s accounts-daemon.service
          4.346s exim4.service
          4.156s NetworkManager.service
          3.211s bluetooth.service
          3.203s atd.service
          3.174s apt-daily.service
          3.132s pppd-dns.service
          3.128s alsa-restore.service
          2.765s systemd-logind.service
          2.762s avahi-daemon.service
          2.751s rsyslog.service
          2.750s wpa_supplicant.service
          2.594s networking.service
          2.168s lightdm.service
          2.148s plymouth-quit-wait.service
          2.024s upower.service
          1.975s systemd-udevd.service
          1.955s apparmor.service
          1.718s polkit.service
          1.412s systemd-tmpfiles-setup.service
          1.161s colord.service
          1.000s systemd-rfkill.service

Я считаю, что есть много возможностей для улучшения, поэтому я просто подожду, пока какие-нибудь заядлые системные администраторы прольют свет. Спасибо.

0
03.11.2020, 20:27
1 ответ

I would like to see everything that happens when I run the command so I can debug it and get it running.

libinput-gestures-setup— простой сценарий Bash. Вы можете просто посмотреть на него и посмотреть, что он делает. Чтобы «отладить» его, вы можете добавить опцию set -xв его начало, и он будет запускать весь скрипт в режиме отладки --, т. е. трассировки каждой команды плюс ее аргументы выводятся на стандартный вывод. Или вместо того, чтобы редактировать его, чтобы добавить параметр, вы можете просто запустить его вот так:

bash -x libinput-gestures-setup start
3
18.03.2021, 22:53

Теги

Похожие вопросы