Есть некоторые вещи, которые вы можете сделать, чтобы ускорить перенос, но часто эти настройки могут иметь другие побочные эффекты без особого внимания.
Вы можете управлять предполагаемой загрузкой, используя --load-average=##.##
в сочетании с --jobs=##
в командной строке. Замените # на цифры. Вы также можете сделать это и большинство других значений (полу)постоянными, добавив EMERGE_DEFAULT_OPTS="--jobs=## --load-average=##.##"
в make.conf. Существует достойная статья об использовании этих значений в реальных приложениях. Чего нет в статье, так это того, как правильно обойти сбои сборки из-за настроенного make.conf. Если вы хотите сделать эти настройки глобальными (make.conf), вы также должны понимать, как обойти эти настройки с помощью пользовательской среды для определенных пакетов. См. здесь.
Еще несколько замечаний (хороших и плохих) по ускорению портежей:
1) Включите parallel_fetch в вашем make.conf, добавив/отредактировав FEATURES="${FEATURES} parallel-fetch"
. Эта запись позволит загружать пакеты во время сборки текущего. На самом деле это не отвечает на ваш вопрос как таковой, но это одно из наименее инвазивных «ускорений» Portage.
2) Включить кеш. Установите пакет ccache и добавьте ccache
в FEATURES, как в #1. Вам также потребуется определить CCACHE_SIZE
и CCACHE_DIR
. Хотя это начиналось как отличная идея, многие люди охладели к преимуществам ccache. Известно, что он вызывает проблемы с некоторыми пакетами, и есть много отчетов, в которых утверждается, что он может чаще снижать производительность компиляции, чем ускорять ее. Я не могу сказать, насколько это правильно, но многие пункты адресованы в этой статье предупреждения об использовании ccache являются общепринятым мнением.
3) ReNice появится. Вы можете определить приращение вежливости, добавив PORTAGE_NICENESS=-#
. Значение этого числа добавляется к значению процесса по умолчанию. Сделав его отрицательным, вы уменьшите привлекательность процессов возникновения. Будьте очень осторожны с этой настройкой, так как она будет применяться и к подпроцессам. С некоторыми пакетами, имеющими несколько подпроцессов, это может стать рискованным в спешке.
Последнее замечание: некоторые из этих функций зависят от версии вашего портаджа. Я упоминаю об этом, поскольку вы сказали, что редактируете /etc/make.conf, который является старым местоположением. В более новых версиях portage файлы конфигурации перенесены в /etc/portage. Если у вас есть make.conf в обоих местах, файл в /etc/portage заменит файл в /etc.
person
gravy21
schedule
04.01.2016
configuration
вопрос о gentoo и его пакетном менеджере. Я упомянул аппаратное обеспечение, поскольку из-за этого могут быть некоторые ограничения. Но моя цель состоит в том, чтобы диспетчер пакетов использовал аппаратное обеспечение как можно больше, чтобы делать вещи быстрее, поэтому, возможно, есть какие-то другие варианты, чтобы сказать, что он запускает пакеты параллельно или иным образом использует больше ядер/потоков, даже если пакет просто компилируется. однопоточная или около того - person gilhad   schedule 02.01.2016