No Gentoo Linux, é possível definir a MAKEOPTS
variável /etc/portage/make.conf
para dizer make
quantos trabalhos ela deve executar em paralelo ao criar pacotes. Como tenho uma CPU de núcleo duplo, ingenuamente optei por usar a -j2
opção: um trabalho por núcleo, para que ambos tenham algo a fazer. O "problema" é que existem muitas referências que dizem aos usuários que possuem uma CPU de núcleo duplo para definir a -j3
opção. Alguns deles são:
- Manual do Gentoo
- Wiki do Gentoo
- Página do manual make.conf (5)
Por exemplo, o manual do Gentoo diz:
Uma boa opção é o número de CPUs (ou núcleos de CPU) em seu sistema mais uma, mas essa diretriz nem sempre é perfeita.
Mas qual é a justificativa para a regra "CPUs + 1"? Por que o trabalho extra?
A página do manual make.conf (5) diz:
As configurações sugeridas estão entre CPUs + 1 e 2 * CPUs + 1.
Também li a seção 5.4 (Execução Paralela) na make
página de informações e na make
explicação da página de manual da -j
opção, mas parece que não há respostas lá.