У меня есть простой стресс-тест с настраиваемым количеством потоков в зависимости от сервера, на котором он работает. На одной машине Windows с 16 ядрами я могу запустить процесс, который, в свою очередь, запускает 16 потоков и поддерживает максимальное использование всех ядер на время теста.
На другом компьютере с Windows с 16 ядрами я запускаю тест, но он использует только 8 из 16 доступных, то есть использует один ЦП, а не другой.
Я знаю, что это скорее вопрос о конфигурации Windows, чем вопрос о Java, поскольку я показал, что сам тест ведет себя так, как ожидалось, на одной машине, а не на другой.
Используя диспетчер задач, я вижу, что в системе 16 ядер, но что-то мешает доступу к остальным 8.
Есть ли параметр, запрещающий одному процессу использовать все ядра?
Если StackOverflow не подходит для этого вопроса, предложите другой стек *, куда я должен его переместить.
Обновить 1
На проблемной машине я ранее пытался запустить 1 процесс с 16 потоками. Если я запускаю два процесса с 8 потоками каждый, я могу потреблять 100% ядер.