summaryrefslogtreecommitdiff
path: root/lfs-12.2-sysv/chapter04/aboutsbus.html
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.2-sysv/chapter04/aboutsbus.html')
-rw-r--r--lfs-12.2-sysv/chapter04/aboutsbus.html184
1 files changed, 184 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/chapter04/aboutsbus.html b/lfs-12.2-sysv/chapter04/aboutsbus.html
new file mode 100644
index 0000000..82bd9b9
--- /dev/null
+++ b/lfs-12.2-sysv/chapter04/aboutsbus.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
+ <title>
+ 4.5. О SBU (Стандартная единица времени сборки)
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
+ "text/css" media="print" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ </head>
+ <body class="lfs" id="lfs-12.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 4. Заключительный этап подготовки
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="settingenvironment.html" title=
+ "Настройка окружения">Пред.</a>
+ <p>
+ Настройка окружения
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="abouttestsuites.html" title=
+ "О наборах тестов">След.</a>
+ <p>
+ О наборах тестов
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter04.html" title=
+ "Глава 4. Заключительный этап подготовки">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-preps-aboutsbus" name="ch-preps-aboutsbus"></a>4.5. О SBU
+ (Стандартная единица времени сборки)
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ Многие люди хотели бы знать заранее, сколько примерно времени
+ потребуется для компиляции и установки каждого пакета. Поскольку
+ Linux From Scratch может быть собран на различных системах,
+ невозможно дать точную оценку времени. Сборка самого большого пакета
+ (gcc) займет около 5 минут на быстрых системах, но может занять
+ несколько дней на более медленных компьютерах! Вместо фактического
+ времени в книге используется показатель "стандартная единица времени
+ сборки" (SBU).
+ </p>
+ <p>
+ Показатель SBU рассчитывается следующим образом. Первым пакетом,
+ который нужно скомпилировать, является binutils в <a class="xref"
+ href="../chapter05/chapter05.html" title=
+ "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a>. Время, необходимое
+ для компиляции этого пакета с использованием одного ядра, будет
+ называться стандартной единицей времени сборки или SBU. Время
+ компиляции остальных пакетов будет рассчитано относительно этого
+ времени.
+ </p>
+ <p>
+ Например, рассмотрим пакет, время компиляции которого составляет 4,5
+ SBU. Это означает, что если вашей системе потребовалось 4 минуты для
+ компиляции и сборки первого прохода binutils, то для сборки этого
+ пакета потребуется <span class="emphasis"><em>примерно</em></span> 18
+ минут. К счастью, в большинстве случаев, время сборки меньше, чем у
+ binutils.
+ </p>
+ <p>
+ В целом, величина SBU не совсем точна, поскольку она зависит от
+ множества факторов, начиная от версии GCC хост-системы. Она приведены
+ здесь, чтобы дать оценку того, сколько времени может потребоваться
+ для сборки пакета, но в некоторых случаях цифры могут отличаться на
+ десятки минут.
+ </p>
+ <p>
+ В современных материнских платах есть возможность управлять тактовой
+ частотой процессора. Это можно сделать с помощью команды, такой как,
+ <span class="command"><strong>powerprofilesctl</strong></span>.
+ Данная возможность отсутствует в LFS, но может быть доступна в
+ хост-дистрибутиве. После сборки LFS управление производительностью и
+ электропитанием можно добавить в систему с помощью инструкций,
+ описанных на странице <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/sysutils/power-profiles-daemon.html">
+ BLFS power-profiles-daemon</a>.
+ </p>
+ <p>
+ Перед измерением времени сборки любого пакета рекомендуется
+ задействовать профиль энергопотребления системы, настроенный на
+ максимальную производительность (и максимальное энергопотребление).
+ </p>
+ <p>
+ В противном случае измеренное значение SBU может быть неточным,
+ поскольку система может по-разному реагировать на сборку <a class=
+ "xref" href="../chapter05/binutils-pass1.html" title=
+ "5.2. Binutils-2.43.1 - Проход 1">binutils-pass1</a> или других
+ пакетов.
+ </p>
+ <p>
+ Имейте в виду, что даже если для обоих пакетов используется один и
+ тот же профиль, все равно могут возникнуть существенные неточности,
+ поскольку система может реагировать медленнее, если система
+ простаивает при запуске процедуры сборки. Установка для профиля
+ питания режима <span class="quote">«<span class=
+ "quote">производительность</span>»</span> сведет к минимуму эту
+ проблему. И, очевидно, это также ускорит сборку LFS.
+ </p>
+ <p>
+ Если <span class="command"><strong>powerprofilesctl</strong></span>
+ доступен, введите команду <span class=
+ "command"><strong>powerprofilesctl set performance</strong></span>,
+ чтобы выбрать профиль <code class=
+ "literal">производительность</code>. Некоторые дистрибутивы для
+ управления профилями предоставляют команду <span class=
+ "command"><strong>tuned-adm</strong></span> вместо <span class=
+ "command"><strong>powerprofilesctl</strong></span>, в этих
+ дистрибутивах введите команду <span class="command"><strong>tuned-adm
+ profile throughput-performance</strong></span>, чтобы выбрать профиль
+ <code class="literal">производительность</code>.
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Когда используется несколько ядер, единицы измерения SBU будут
+ различаться еще больше, чем обычно. В некоторых случаях make просто
+ завершится ошибкой. Анализ выходных данных процесса сборки также
+ будет более сложным, поскольку строки разных потоков будут
+ чередоваться. Если вы столкнулись с проблемой на этапе сборки,
+ вернитесь к сборке на одном ядре, чтобы проанализировать сообщения
+ об ошибках.
+ </p>
+ <p>
+ Представленные здесь значения времени для всех пакетов (за
+ исключением <a class="xref" href="../chapter05/binutils-pass1.html"
+ title="5.2. Binutils-2.43.1 - Проход 1">binutils-pass1</a>, который
+ собирается на одном ядре) рассчитаны при использовании четырех ядер
+ (-j4). Время, указанное в главе 8, также включает время выполнения
+ регрессионных тестов для пакета, если не указано иное.
+ </p>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="settingenvironment.html" title=
+ "Настройка окружения">Пред.</a>
+ <p>
+ Настройка окружения
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="abouttestsuites.html" title=
+ "О наборах тестов">След.</a>
+ <p>
+ О наборах тестов
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter04.html" title=
+ "Глава 4. Заключительный этап подготовки">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>