Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7012437df |
52
s4a.tex
52
s4a.tex
@@ -1392,17 +1392,17 @@ systemd уже подготовлен для работы внутри таки
|
|||||||
|
|
||||||
Fedora~15\footnote{Также известный как величайший в истории релиз свободной ОС}
|
Fedora~15\footnote{Также известный как величайший в истории релиз свободной ОС}
|
||||||
является первым релизом Fedora, использующим systemd в качестве системы
|
является первым релизом Fedora, использующим systemd в качестве системы
|
||||||
инициализации по умлочанию. Основной нашей целью при работе над выпуском F15
|
инициализации по умолчанию. Основной нашей целью при работе над выпуском F15
|
||||||
является обеспечение полной интеграции и корректной работы всех компонентов. При
|
является обеспечение полной взаимной интеграции и корректной работы всех
|
||||||
подготовке следующего релиза, F16, мы сконцентрируемся на дальнейшей полировке и
|
компонентов. При подготовке следующего релиза, F16, мы сконцентрируемся на
|
||||||
ускорении системы. Для этого мы подготовили ряд инструментов (доступных уже в
|
дальнейшей полировке и ускорении системы. Для этого мы подготовили ряд
|
||||||
F15), которые должны помочь нам в поиске проблем, связанных с процессом
|
инструментов (доступных уже в F15), которые должны помочь нам в поиске проблем,
|
||||||
загрузки. В этой статье я попытаюсь рассказать о том, как найти виновников
|
связанных с процессом загрузки. В этой статье я попытаюсь рассказать о том, как
|
||||||
медленной загрузки вашей системы, и о том, что с ними делать дальше. Мы хотим
|
найти виновников медленной загрузки вашей системы, и о том, что с ними делать
|
||||||
помочь вам в поиске тех системных компонентов, которые являются причинами выших
|
дальше. Мы хотим помочь вам в поиске тех системных компонентов, которые являются
|
||||||
проблем.
|
причинами ваших проблем.
|
||||||
|
|
||||||
Первый инструмент, который мы можем вам предложить, очень прост: по зварешении
|
Первый инструмент, который мы можем вам предложить, очень прост: по завершении
|
||||||
загрузки, systemd регистрирует в системном журнале информацию о суммарном
|
загрузки, systemd регистрирует в системном журнале информацию о суммарном
|
||||||
времени загрузки:
|
времени загрузки:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
@@ -1458,6 +1458,38 @@ $ systemd-analyze blame
|
|||||||
...
|
...
|
||||||
\end{Verbatim}
|
\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}
|
\end{document}
|
||||||
|
|
||||||
vim:ft=tex:tw=80:spell:spelllang=ru
|
vim:ft=tex:tw=80:spell:spelllang=ru
|
||||||
|
|||||||
Reference in New Issue
Block a user