как я заставляю java.exe использовать несколько CPU?

Я выполняю Гудзон на машине Windows 7 (x64): это просто запускается с помощью 'Java - банка hudson.war'. По некоторым причинам процесс Java только использует один CPU из 2 доступных, хотя он выполняет несколько потоков. Я вполне уверен, поведение по умолчанию для OS состоит в том, чтобы распространить потоки многопоточной программы через CPU, если явно не сказали иначе (использующий некоторый SetProcessorAffinity api, если я помню правильно).

Существует ли способ сказать Java использовать несколько CPU?

1
задан 02.11.2010, 21:59

1 ответ

Обычно, java.exe автоматически поместит потоки на различные центральные процессоры.

Если это не делает, это могло бы быть, потому что программой является ввод-вывод, связанный, а не зависящий от ЦП, или потому что потоки не могут работать одновременно из-за синхронизации.

См. http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#perf_scaling еще для некоторой информации.

Необходимо будет, вероятно, отладить Гудзон для знания, почему он использует только один процессор.

2
ответ дан 12.12.2019, 13:07

Теги

Похожие вопросы