Аргумент JVM -Xmx позволяет задавать максимальный размер кучи для JVM для некоторого значения. Но есть ли способ сделать это значение динамическим? Другими словами, я хочу сказать JVM "посмотрите, если вам это нужно, просто продолжайте брать ОЗУ из системы до тех пор, пока система не выйдет".
Двухчастная причина для запроса: Во-первых, приложение, о котором идет речь, может использовать очень широкий диапазон плунжеров в зависимости от того, что делает пользователь, поэтому концептуальные минимальные и максимальные значения довольно далеко друг от друга. Во-вторых, похоже, что JVM резервирует максимальное пространство кучи из виртуальной памяти во время загрузки. Это конкретное приложение запускается на довольно широком спектре аппаратных средств, поэтому выбор места для кучи "одного размера подходит всем" - это сложно, поскольку он должен быть достаточно низким, чтобы работать на аппаратных средствах младшего класса, но мы действительно чтобы иметь возможность использовать действительно мускулистые машины, если они доступны.