Я выполняю Гудзон на машине Windows 7 (x64): это просто запускается с помощью 'Java - банка hudson.war'. По некоторым причинам процесс Java только использует один CPU из 2 доступных, хотя он выполняет несколько потоков. Я вполне уверен, поведение по умолчанию для OS состоит в том, чтобы распространить потоки многопоточной программы через CPU, если явно не сказали иначе (использующий некоторый SetProcessorAffinity api, если я помню правильно).
Существует ли способ сказать Java использовать несколько CPU?
Обычно, java.exe
автоматически поместит потоки на различные центральные процессоры.
Если это не делает, это могло бы быть, потому что программой является ввод-вывод, связанный, а не зависящий от ЦП, или потому что потоки не могут работать одновременно из-за синхронизации.
См. http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#perf_scaling еще для некоторой информации.
Необходимо будет, вероятно, отладить Гудзон для знания, почему он использует только один процессор.