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 is often used to allow for concurrent emerge operations through the --jobs N
and --load-average X.Y
options, which tell Portage how many package builds can be ran simultaneously and up to what system load (load average) the parallelism can be used.
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:
EMERGE_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 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.