make -j
(sem argumento para -j
) não possui um limite superior para o número de comandos que são iniciados. Ele paraleliza o máximo possível, não apenas até o número de núcleos (como sugere a pergunta).
make -j 12
(ou talvez menos de 12 dependendo de como a memória está com fome de cada processo) é provavelmente um comando mais sensato na sua situação.
De man 1 make
:
-j [jobs], --jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If
there is more than one -j option, the last one is effective. If
the -j option is given without an argument, make will not limit
the number of jobs that can run simultaneously.