Ограничение использования ресурсов Java

Есть ли способ ограничить количество ядер, которые использует java?

И в том же ключе, можно ли ограничить, сколько из этого ядра используется?

Ответы

Ответ 1

Вы можете использовать набор задач в Linux. Вы также можете снизить приоритет процесса, но если CPU (S) не занят, процесс получит столько CPU, сколько он может использовать.

У меня есть библиотека для посвящения нити в ядро, называемое Java Thread Affinity, но это может иметь другую цель в отношении того, что вы имеете в виду. Можете ли вы пояснить, почему вы хотите это сделать?

Ответ 2

Я не думаю, что есть встроенные возможности JVM для этих настроек, однако вы можете ограничить использование ЦП, установив приоритет и/или близость процессора к процессу JVM. Если вы находитесь в Linux, посмотрите CPULimit, что является прекрасным инструментом для ограничения этих ресурсов.

Ответ 3

https://github.com/haosdent/jcgroup jcgroup - ваш лучший выбор. Вы можете использовать эту библиотеку для ограничения общих ресурсов процессора, скорости ввода-вывода диска, пропускной способности сети и т.д.