From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.2-sysv/chapter04/aboutsbus.html | 184 +++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 lfs-12.2-sysv/chapter04/aboutsbus.html (limited to 'lfs-12.2-sysv/chapter04/aboutsbus.html') 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 @@ + + + + + + 4.5. О SBU (Стандартная единица времени сборки) + + + + + + + + +

+ 4.5. О SBU + (Стандартная единица времени сборки) +

+
+

+ Многие люди хотели бы знать заранее, сколько примерно времени + потребуется для компиляции и установки каждого пакета. Поскольку + Linux From Scratch может быть собран на различных системах, + невозможно дать точную оценку времени. Сборка самого большого пакета + (gcc) займет около 5 минут на быстрых системах, но может занять + несколько дней на более медленных компьютерах! Вместо фактического + времени в книге используется показатель "стандартная единица времени + сборки" (SBU). +

+

+ Показатель SBU рассчитывается следующим образом. Первым пакетом, + который нужно скомпилировать, является binutils в Глава 5. Время, необходимое + для компиляции этого пакета с использованием одного ядра, будет + называться стандартной единицей времени сборки или SBU. Время + компиляции остальных пакетов будет рассчитано относительно этого + времени. +

+

+ Например, рассмотрим пакет, время компиляции которого составляет 4,5 + SBU. Это означает, что если вашей системе потребовалось 4 минуты для + компиляции и сборки первого прохода binutils, то для сборки этого + пакета потребуется примерно 18 + минут. К счастью, в большинстве случаев, время сборки меньше, чем у + binutils. +

+

+ В целом, величина SBU не совсем точна, поскольку она зависит от + множества факторов, начиная от версии GCC хост-системы. Она приведены + здесь, чтобы дать оценку того, сколько времени может потребоваться + для сборки пакета, но в некоторых случаях цифры могут отличаться на + десятки минут. +

+

+ В современных материнских платах есть возможность управлять тактовой + частотой процессора. Это можно сделать с помощью команды, такой как, + powerprofilesctl. + Данная возможность отсутствует в LFS, но может быть доступна в + хост-дистрибутиве. После сборки LFS управление производительностью и + электропитанием можно добавить в систему с помощью инструкций, + описанных на странице + BLFS power-profiles-daemon. +

+

+ Перед измерением времени сборки любого пакета рекомендуется + задействовать профиль энергопотребления системы, настроенный на + максимальную производительность (и максимальное энергопотребление). +

+

+ В противном случае измеренное значение SBU может быть неточным, + поскольку система может по-разному реагировать на сборку binutils-pass1 или других + пакетов. +

+

+ Имейте в виду, что даже если для обоих пакетов используется один и + тот же профиль, все равно могут возникнуть существенные неточности, + поскольку система может реагировать медленнее, если система + простаивает при запуске процедуры сборки. Установка для профиля + питания режима «производительность» сведет к минимуму эту + проблему. И, очевидно, это также ускорит сборку LFS. +

+

+ Если powerprofilesctl + доступен, введите команду powerprofilesctl set performance, + чтобы выбрать профиль производительность. Некоторые дистрибутивы для + управления профилями предоставляют команду tuned-adm вместо powerprofilesctl, в этих + дистрибутивах введите команду tuned-adm + profile throughput-performance, чтобы выбрать профиль + производительность. +

+
+ [Примечание] +

+ Примечание +

+

+ Когда используется несколько ядер, единицы измерения SBU будут + различаться еще больше, чем обычно. В некоторых случаях make просто + завершится ошибкой. Анализ выходных данных процесса сборки также + будет более сложным, поскольку строки разных потоков будут + чередоваться. Если вы столкнулись с проблемой на этапе сборки, + вернитесь к сборке на одном ядре, чтобы проанализировать сообщения + об ошибках. +

+

+ Представленные здесь значения времени для всех пакетов (за + исключением binutils-pass1, который + собирается на одном ядре) рассчитаны при использовании четырех ядер + (-j4). Время, указанное в главе 8, также включает время выполнения + регрессионных тестов для пакета, если не указано иное. +

+
+
+ + + -- cgit v1.2.3