Normalmente, java.exe
colocará automaticamente threads em CPUs diferentes.
Se isso não acontecer, pode ser porque o programa é vinculado a E / S, em vez de vinculado à CPU, ou porque os encadeamentos não podem ser executados simultaneamente devido à sincronização.
Veja o link para mais informações.
Você provavelmente terá que depurar o Hudson para saber por que ele usa apenas um processador.