Como dito acima, limitar o número de núcleos de CPU não era suficiente. Eu tive que usar cpulimit
para diminuir o uso de cpu deste programa:
Logo após invocar o java, adicionei esta linha no script de inicialização:
cpulimit -e java -l 25 -b
Isso limita o java a 25% da velocidade máxima de um cpu / core. Limitando o número de CPUs (a opção -c
não é necessária). Provavelmente apenas uma condição de corrida na inicialização do programa.