EMERGE_DEFAULT_OPTS
EMERGE_DEFAULT_OPTS — это переменная, которая определяет параметры, которые будут добавлены к параметрам запуска команды emerge.
EMERGE_DEFAULT_OPTS часто используется для определения количества одновременно работающих задач emerge с помощью параметров --jobs N
и --load-average X.Y
, которые ограничивают для Portage количество одновременно собираемых пакетов и среднюю нагрузку на систему (load average).
Популярные примеры использования
Параллельная сборка
С --jobs N
(короткое обозначение: -jN
), emerge запускает N задач одновременно (без аргумента, параметр -j
займет всё процессорное время, создавая задачи компиляции при малейшем появлении свободных ресурсов — это не рекомендуется). Типичное значение для N обычно равно количеству ядер, но не больше процессов, чем кол-во ОЗУ, разделённое на 2 ГБ.
Например, чтобы запустить три задачи сборки одновременно:
EMERGE_DEFAULT_OPTS="--jobs 3"
В случае использования --load-average X.Y
(короткое обозначение: -lX.Y
), emerge попытается держать среднюю нагрузку на систему меньше чем X.Y (число с плавающей точкой). Если также указан --jobs
, то команда будет работать в указанных данным параметром пределах.
Средняя величина нагрузки — это тоже самое, что отображается в top и uptime. Для N-ядерных систем, средняя нагрузка в N.0
даст 100% нагрузку. Другое полезное правило установить X.Y=N*0.9
, что ограничит нагрузку на 90%, что тем самым сохранит отзывчивость системы.
Когда
MAKEOPTS="-jN"
используется вместе с EMERGE_DEFAULT_OPTS="--jobs K --load-average X.Y"
число возможно создаваемых задач может увеличится до N*K
. Поэтому обе переменные должны быть заданы с учетом друг друга, так как вместе они создают K задач, каждая из которых может создать N задач make.Эти две настройки позволяют наиболее подходящим образом использовать параметры --jobs
, в случае длительной компиляции программ с большим количеством файлов исходного кода. Они также могут привести к ошибкам emerge в некоторых случаях, так что используйте их с осторожностью и будьте готовы закомментировать их, если возникают проблемы.
See also
- MAKEOPTS — a variable that defines how many parallel make jobs can be launched from Portage.
- Knowledge Base:Emerge out of memory
- Portage niceness — describes some configuration options available for system administrators to help manage Portage's resource usage.