невозможно установить xmx больше 4 ГБ в системе с 8 ГБ ОЗУ

Мне нужно установить

ANT_OPTS=-Xms1024m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m

JAVA_OPTS=-Xms1024m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m

У меня система с 8 ГБ (недавно обновили с 4 ГБ)

Но как только я установил для муравья указанное выше значение, я не могу запустить ни одну из своих целей-муравьев, и я получаю следующую ошибку

[ERROR] Argument error: -Xmx6144m
[ERROR] Specified maximum heap size (6144 MB) is larger than the address space on this platform (4 GB).
[WARN ] -XX:PermSize=1024m is not a valid VM option. Ignoring
[WARN ] -XX:MaxPermSize=1024m is not a valid VM option. Ignoring
Could not create the Java virtual machine.

Это указывает на Java, которая есть в моей системе.

java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Oracle JRockit(R) (build R28.1.0-123-138454-1.6.0_20-20101014-1351-windows-x86_64, compiled mode)

и я использую Windows 7 на процессоре Intel Core 2 Duo 3Ghz и 8 ГБ оперативной памяти.

PS: Я обратился в Google по поводу ошибки, и это был один из первых моих случаев, когда я не получил никаких ссылок, указывающих на конкретное решение.


person Arun    schedule 11.04.2012    source источник
comment
Не в том месте, чтобы спросить. Но взгляните на stackoverflow.com/questions/3030263/   -  person Matten    schedule 11.04.2012
comment
Можете ли вы предложить мне подходящее место для публикации этого сообщения?   -  person Arun    schedule 11.04.2012
comment
superuser.com или serverfault.com   -  person Matten    schedule 11.04.2012
comment
Какая самая большая кучка -Xmx, которая работает?   -  person beny23    schedule 11.04.2012
comment
Я думаю, вы только что запустили java -version, чтобы отобразить версию Rocket? Если это так, это не означает, что используется та же JVM ANT. Запустите% JAVA_HOME% \ bin \ java -version или измените командный файл ant, чтобы выплюнуть версию.   -  person Andrew T Finnell    schedule 11.04.2012
comment
@AndrewFinnell Когда я запустил указанную вами команду, я получил эту версию java 1.6.0_05 Java (TM) SE Runtime Environment (сборка 1.6.0_05-b13) BEA JRockit (R) (сборка R27.6.0-50_o-100423- 1.6.0_05-20080626-2105-windows-ia32, скомпилированный режим) Означает ли это, что у меня 32-битная JVM? До сих пор я был совершенно уверен, что это 64-битная версия, потому что, когда я использую это System.getProperty("sun.arch.data.model"), я вижу 64 как вывод в консоли.   -  person Arun    schedule 12.04.2012
comment
Это означает, что у вас есть ОБА, но ваш JAVA HOME указывает на 32-битную версию. Обновите переменную среды, чтобы она указывала на 64-битную версию, или жестко закодируйте путь в командном файле ant.   -  person Andrew T Finnell    schedule 12.04.2012
comment
@AndrewFinnell, большое спасибо !! Это действительно было так, как вы сказали. Я переустановил свой Jrockit и указал свой JAVA_HOME на эту новую версию. Теперь он отлично работает !!   -  person Arun    schedule 13.04.2012
comment
@Arun Я создам ответ из наших комментариев, если вы не против пометить его как ответ, чтобы другие могли искать и находить его, когда сталкиваются с аналогичной проблемой.   -  person Andrew T Finnell    schedule 13.04.2012


Ответы (2)


Как обсуждалось в комментариях:

Казалось бы, ваша установка ANT использует 32-битную JVM. В то время как 64-битная JVM находится в вашем PATH, ANT не подчиняется JVM в вашем PATH, сначала он смотрит на JAVA_HOME. Вы можете проверить это, запустив $ JAVA_HOME / bin / java -version.

Вы можете обновить свою среду, установив для JAVA_HOME 64-разрядную версию, или изменить сценарий ANT, чтобы всегда использовать определенную версию Java.

person Andrew T Finnell    schedule 13.04.2012

Сообщение об ошибке предполагает, что платформа 32-разрядная. Я полагаю, вы не можете использовать 4 ГБ.

Я бы попробовал установить 64-битную версию Java и использовать ее.


Для JVM HotSpot я ожидал увидеть

$ java -mx30g -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
person Peter Lawrey    schedule 11.04.2012
comment
Хорошая точка зрения. Я скучал, что это был JRocket. JVM HotSpot сообщает 64-Bit - person Peter Lawrey; 11.04.2012