Сколько времени требуется вашей системе Linux для загрузки?

Когда вы загружаете свою систему, она проходит через последовательность событий, прежде чем представить вам экран входа в систему. Вы когда-нибудь проверяли, сколько времени занимает загрузка системы? Как правило, все это происходит в течение нескольких секунд или минут, но мы не знаем точного времени. Иногда по некоторым причинам вам может потребоваться узнать точное время загрузки системы. Независимо от причины, по которой вы хотите это узнать, существует утилита systemd-analyze, которая позволит вам узнать точное время загрузки вашей Linux-системы.

Хотя вы можете использовать часы или секундомер для отслеживания времени, когда ваша система начинает загружаться, но это не подходит для любой ситуации, особенно для работающих серверов, которые вы вряд ли сможете перезагрузить. Например, если на вашем сервере работают критически важные службы, и вам необходимо определить время загрузки системы. В этом случае вам необходимо перезагрузить сервер, что не всегда возможно.

В этой статье вы узнаете, как определить, сколько времени требуется системе Linux для загрузки, и как уменьшить это время, если она загружается медленно.

Чтобы открыть Терминал командной строки, используйте комбинацию клавиш Ctrl+Alt+T.

Что такое systemd-analyze?

Systemd-analyze - это инструмент, с помощью которого можно узнать статистику последней загрузки системы. С помощью инструмента systemd-analyze вы можете получить информацию о том, сколько времени потребовалось системе для загрузки, а также о том, сколько времени потребовалось каждому устройству для запуска. К счастью, вам не нужно устанавливать этот инструмент, так как он является встроенным инструментом systemd. Вы можете проверить его с помощью следующей команды в Терминале:

В выводе будет показан полный путь к исполняемой команде.

Определение времени, затрачиваемого системой на загрузку

Чтобы узнать время, необходимое системе для загрузки, просто введите system-analyze без аргументов командной строки в Терминале:

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

systemd-analyze

Как видно на скриншоте выше, общее время загрузки нашей системы составляет 32,378 секунды и разбито на:

Ядро: 6.074s
Пространство пользователя: 26,304 с

Расследование/устранение неполадок при медленной загрузке

Если время загрузки увеличилось, необходимо найти, какая служба замедляет процесс загрузки. Найти ее можно с помощью команды systemd-analyze blame. Эта команда выводит список всех запущенных служб, которые запускались во время загрузки, вместе со временем, которое они заняли. Имея эту информацию, вы можете оптимизировать время загрузки системы.

Выполните следующую команду в Терминале, чтобы найти, какая служба виновата в медленной загрузке:

 

systemd-analyze blame

Эта команда выводит список служб, запущенных во время загрузки, а также время, которое потребовалось каждой службе для инициализации. Список сортируется по прошедшему времени в порядке убывания.

Список виноватых может быть довольно длинным, обычно первых 10 записей достаточно, чтобы найти службы, занимающие много времени. Поэтому направьте вывод вышеуказанной команды в команду "head" следующим образом:

sudo systemd-analyze blame | head

Вы также можете распечатать вывод в виде дерева цепочки событий, критичных по времени. Для этого выполните следующую команду в Терминале:

 systemd-analyze critical-chain

В выводе вы увидите цепочку событий, отсортированную по времени (когда служба стала активной) в порядке убывания. Значение после символа "@" в каждом событии - это время, когда служба стала активной. Значение после символа "+" в каждой единице показывает время, необходимое для запуска услуги.

Из результатов, полученных с помощью вышеуказанных команд, вы можете легко определить, какой службе требуется больше времени для запуска, что приводит к медленной загрузке системы. Начните с самого начала и отключите службы, запуск которых занял больше времени, если они не обязаны запускаться при загрузке. Кроме того, отключите все службы, которые хотя и занимают меньше времени, но не требуются при загрузке, поскольку они также влияют на время загрузки системы.

Для того чтобы отключить любую службу, используйте следующий синтаксис:

Заключение

Вот и все! В этой статье вы узнали, как использовать встроенный инструмент systemd для определения времени загрузки системы. Если она загружается дольше, вы также можете найти службы, которые за это отвечают, и отключить их, чтобы улучшить время загрузки. Однако обратите внимание, что некоторые службы по умолчанию должны запускаться при загрузке, поэтому не рекомендуется отключать какую-либо службу, не зная, что она на самом деле делает, иначе могут возникнуть проблемы.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий