Я использую Oracle Java 1.8.0_231.
Каков эффект установки -XX: ActiveProcessorCount = n? Я не C ++ парень, но я думаю, что вижу в исходном коде HotSpot эти два использования:
- Влиять на число потоков компилятора HotSpot
- Влиять на число G C threads
Однако действительно ли это ограничивает количество процессоров, которые может использовать JVM? В примечаниях к выпуску Java 10 прямо сказано:
Кроме того, это изменение добавляет опцию JVM, которая дает возможность указать количество процессоров, которые будет использовать JVM.
Меня беспокоит то, что у меня есть результаты тестов (вне любого контейнера Docker, CF и т. Д. c), которые, кажется, показывают приложение, использующее все 8 процессоров в равной степени вместо 4, которые у меня были set:
Итак, должна ли настройка ActiveProcessorCount фактически ограничивать количество процессоров, которые использует JVM? Я не вижу ничего в коде HotSpot, который делает это, и мои результаты теста, кажется, также говорят нет.
спасибо