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.
EMERGE_DEFAULT_OPTS allows for parallel emerge operations through the --jobs N
and --load-average X.Y
options. EMERGE_DEFAULT_OPTS is used by Portage to reference system load, or load average, and limit how many packages are built at a time.
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.
See also
- MAKEOPTS — a variable that defines and limits 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.