Флаг Xmx
может игнорироваться при запуске исполняемого файла java
с флагом -version
. Это зависит от того, как вы передаете флаг версии. Ниже приведены результаты на моей машине с 2 ГБ ОЗУ:
Флаг версии перед Xmx
C:\Users\Reynolds>java -version -Xmx10240M
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
, что странно, учитывая, что 10G превышает максимальный адресуемый предел памяти в 32-разрядной среде.
Флаг версии передан после Xmx
C:\Users\Reynolds>java -Xmx10240M -version
Invalid maximum heap size: -Xmx10240M
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
C:\Users\Reynolds>java -Xmx1524M -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
что ближе к реальности.
Возможно, вы захотите проверить, сколько смежной памяти доступно для Java в реальности, используя второй подход, а затем выбрать оптимальное значение для максимального размера кучи.