java -X
в командной строке показывает список параметров, которые вы можете использовать для точной настройки вашей JVM. В частности, когда речь идет о куче -Xms
и -Xmx
, которые позволяют вам установить начальный размер кучи и максимальный размер кучи.
Вы можете проверить это в любой момент с помощью Runtime.getRuntime().freeMemory()
- однако стоит заметить, что если вы запустили JVM с скажем, 100 МБ (запуск кучи) и максимум 1 ГБ кучи, ваша свободная память могла бы изначально быть 100 МБ (если в куче ничего нет), а затем увеличиваться как куча расширяется до 1 Гб. Однако если вы установили начальный размер и максимальный размер одинаковыми, то freeMemory () всегда будет отражать точную свободную память, оставшуюся в куче, так как куча никогда не будет расширена.