Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7012437df |
52
s4a.tex
52
s4a.tex
@@ -1392,17 +1392,17 @@ systemd уже подготовлен для работы внутри таки
|
||||
|
||||
Fedora~15\footnote{Также известный как величайший в истории релиз свободной ОС}
|
||||
является первым релизом Fedora, использующим systemd в качестве системы
|
||||
инициализации по умлочанию. Основной нашей целью при работе над выпуском F15
|
||||
является обеспечение полной интеграции и корректной работы всех компонентов. При
|
||||
подготовке следующего релиза, F16, мы сконцентрируемся на дальнейшей полировке и
|
||||
ускорении системы. Для этого мы подготовили ряд инструментов (доступных уже в
|
||||
F15), которые должны помочь нам в поиске проблем, связанных с процессом
|
||||
загрузки. В этой статье я попытаюсь рассказать о том, как найти виновников
|
||||
медленной загрузки вашей системы, и о том, что с ними делать дальше. Мы хотим
|
||||
помочь вам в поиске тех системных компонентов, которые являются причинами выших
|
||||
проблем.
|
||||
инициализации по умолчанию. Основной нашей целью при работе над выпуском F15
|
||||
является обеспечение полной взаимной интеграции и корректной работы всех
|
||||
компонентов. При подготовке следующего релиза, F16, мы сконцентрируемся на
|
||||
дальнейшей полировке и ускорении системы. Для этого мы подготовили ряд
|
||||
инструментов (доступных уже в F15), которые должны помочь нам в поиске проблем,
|
||||
связанных с процессом загрузки. В этой статье я попытаюсь рассказать о том, как
|
||||
найти виновников медленной загрузки вашей системы, и о том, что с ними делать
|
||||
дальше. Мы хотим помочь вам в поиске тех системных компонентов, которые являются
|
||||
причинами ваших проблем.
|
||||
|
||||
Первый инструмент, который мы можем вам предложить, очень прост: по зварешении
|
||||
Первый инструмент, который мы можем вам предложить, очень прост: по завершении
|
||||
загрузки, systemd регистрирует в системном журнале информацию о суммарном
|
||||
времени загрузки:
|
||||
\begin{Verbatim}
|
||||
@@ -1458,6 +1458,38 @@ $ systemd-analyze blame
|
||||
...
|
||||
\end{Verbatim}
|
||||
|
||||
Она выводит список юнитов systemd, активированных при загрузке, с указанием
|
||||
времени инициализации для каждого из них. Список отсортирован по убыванию этого
|
||||
времени, поэтому наибольший интерес для нас представляют первые строчки. В нашем
|
||||
случае это +udev-settle.service+ и
|
||||
+cryptsetup@luks\x2d9899b85d\x2df790\x2d4d2a\x2da650\x2d8b7d2fb92cc3.service+,
|
||||
инициализация которых занимает более одной секунды. Стоит отметить, что к
|
||||
анализу вывода команды +systemd-analyze blame+ тоже следует подходить с
|
||||
осторожностью: она не~поясняет, \emph{почему} тот или иной юнит тратит
|
||||
столько-то времени, она лишь констатирует факт, что время было затрачено. Кроме
|
||||
того, не~стоит забывать, что юниты могут запускаться параллельно. В частности,
|
||||
если две службы были запущены одновременно, то время их инициализации будет
|
||||
значительно меньше, чем сумма времен инициализации каждой из них.
|
||||
|
||||
Рассмотрим повнимательнее первого осквернителя нашей загрузки: службу
|
||||
+udev-settle.service+. Почему ей требуется так много времени для запуска, и что
|
||||
мы можем с этим сделать? Эта служба выполняет очень простую задачу: она ожидает,
|
||||
пока udev завершит опрос устройств, после чего завершается. Опрос же устройств
|
||||
может занимать довольно много времени. Например, в нашем случае опрос устройств
|
||||
занимает более 6~секунд из-за встроенного в компьютер 3G-модема, в котором
|
||||
отсутствует SIM-карта. Этот модем очень долго отвечает на запросы udev. Опрос
|
||||
устройств является частью схемы, обеспечивающей работу ModemManager'а и
|
||||
позволяющей NetworkManager'у упростить для вас настройку 3G. Казалось бы,
|
||||
очевидно, что виновником задержек является именно ModemManager, так как опрос
|
||||
устройств для него занимает слишком много времени. Но такое обвинение будет
|
||||
заведомо ошибочным. Дело в том, что опрос устройств вообще является довольно
|
||||
длительной процедурой. Медленный опрос 3G-устройств для ModemManager является
|
||||
частным случаем, отражающим это общее правило. Хорошая система опроса устройств
|
||||
обязательно должна учитывать тот факт, что операция опроса любого из устройств
|
||||
может затянуться надолго. Истинной причиной наших проблем является тот факт,
|
||||
что мы должны ожидать завершения опроса устройств, т.е., наличие
|
||||
+udev-settle.service+ как обязательной части нашего процесса загрузки.
|
||||
|
||||
\end{document}
|
||||
|
||||
vim:ft=tex:tw=80:spell:spelllang=ru
|
||||
|
||||
Reference in New Issue
Block a user