This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
EMERGE_DEFAULT_OPTS
As variáveis EMERGE_DEFAULT_OPTS são anexadas à linha de comando do emerge. Muitas vezes são usadas para permitir operações concorrentes do emerge através das opções --jobs N
e --load-average X.Y
, que informam ao Portage quantas compilações de pacotes paralelos podem ser usadas e até qual carga do sistema (load average) o paralelismo pode ser usado.
Casos de uso comum
Parallel builds
Com --jobs N
(forma curta: -jN
), o emerge roda N serviços ao mesmo tempo (sem um argumento, -j
inundará o processador com o maior número possível de serviços e não é recomendado). Um valor típico para N seria igual ao número de núcleos.
Por exemplo, para executar até três serviços em paralelo:
/etc/portage/make.conf
Ativando 3 compilações de pacotes em paraleloEMERGE_DEFAULT_OPTS="--jobs 3"
Quando usado com --load-average X.Y
(forma curta: -lX.Y
), o emerge tentará manter a carga média do sistema inferior à X.Y, um número de ponto flutuante. Se --jobs
estiver definido também, então ele será executado até o limite indicado por esse parâmetro.
O valor do load average é o mesmo exibido pelo top ou uptime, e para um sistema N-core, o load average de N.0
seria uma carga de 100%. Outra regra de ouro aqui é definir X.Y=N*0.9
que limitará a carga para 90%, mantendo assim a capacidade de resposta.
Quando
MAKEOPTS="-jN"
é usado com EMERGE_DEFAULT_OPTS="--jobs K --load-average X.Y"
o número de possíveis tarefas criadas seria de N*K
. Portanto ambas as variáveis precisam ser definidas com a outra em mente, na medida em que criam até K serviços cada uma com até N tarefas.
Essas duas configurações são adequadas para longos emerges que incluam vários arquivos de código fonte para aproveitar ao máximo o parâmetro --jobs
. Eles também podem causar erros no emerge em alguns casos, então use com cautela e esteja preparado para comentar isso se surgirem problemas.