Как я могу подсчитать время, в течение которого система systemd должна загружать цель по умолчанию, а затем нарисовать ее?

Когда мне захотелось узнать, как долго система действительно нужна для загрузки цели по умолчанию, как бы я это сделал? Тогда можно ли создать граф, чтобы показать, какое устройство занимает столько времени для инициализации и в какой степени они выполняются параллельно?

Используйте встроенный инструмент systemd-analyze . Вас особенно интересуют два варианта: виноват и сюжет

 systemd-analyze blame systemd-analyze plot > graph.svg 
  • blame : распечатать список запущенных блоков, упорядоченных по времени, для инициализации
  • plot : вывод SVG-графика, показывающего инициализацию сервиса

Чтобы узнать, сколько времени требуется для загрузки системы, systemd предоставляет systemd-analyze . Без параметров он расскажет вам время для загрузки.

Вызов systemd-analyze critical-chain будет печатать дерево цепочки услуг, которое заняло самое длинное, в то время как systemd-analyze blame расскажет вам, сколько времени каждая служба принимала самостоятельно. Наконец, systemd-analyze plot > boot.svg создаст небольшой график, который хорошо systemd-analyze plot > boot.svg все.

Если вам нужны более грамотные графики, в вики Arch Linux есть хорошая статья об использовании Bootchart , который, как следует из названия, создает загрузочные графики.