Ограничение использования ресурсов Java
Есть ли способ ограничить количество ядер, которые использует java?
И в том же ключе, можно ли ограничить, сколько из этого ядра используется?
Ответы
Ответ 1
Вы можете использовать набор задач в Linux. Вы также можете снизить приоритет процесса, но если CPU (S) не занят, процесс получит столько CPU, сколько он может использовать.
У меня есть библиотека для посвящения нити в ядро, называемое Java Thread Affinity, но это может иметь другую цель в отношении того, что вы имеете в виду. Можете ли вы пояснить, почему вы хотите это сделать?
Ответ 2
Я не думаю, что есть встроенные возможности JVM для этих настроек, однако вы можете ограничить использование ЦП, установив приоритет и/или близость процессора к процессу JVM.
Если вы находитесь в Linux, посмотрите CPULimit, что является прекрасным инструментом для ограничения этих ресурсов.
Ответ 3
https://github.com/haosdent/jcgroup
jcgroup - ваш лучший выбор. Вы можете использовать эту библиотеку для ограничения общих ресурсов процессора, скорости ввода-вывода диска, пропускной способности сети и т.д.