Estou rodando um programa que consome aproximadamente 100% do processador, em um computador de apenas 1 core.
Quando rodo esse mesmo programa em um computador com processador dou core, ele consome 100% de um processador, e o outro processador fica livre, apenas com o processamento do sistema operacional (cerca de 5%). Quando eu rodo duas instancias desse programa, no PC com o processador duo core, seus dois cores ficam em aproximadamente 100%.
Gostaria de saber se tem como eu descobrir, em Java, a quantidade de cores de um processador. Pois se eu souber a quantidade de cores posso criar uma instancia para cada core, aproveitando ao máximo a capacidade do processador.
Tentei usar o System.getProperty(“os.arch”), mas ele retorna apenas i386.
Uma as formas que dá para eu descobrir é através de uma chamada de sistema Runtime.getRuntime().exec(“cat /proc/cpuinfo”) (comando para Linux). Alguem sabe outra forma que não seja essa?