2017-01-04 5 views
1

Как это возможно? Я не понимаю Linux правильно, потому что я не знаю, как это может произойти. Я считаю, что здесь есть что-то еще, поскольку я пытаюсь установить максимальный размер кучи на 1G, и он не работаетMAVEN_OPTS игнорируется при настройке размера кучи java

MAVEN_OPTS указывает кучу 1024 м, но команда maven терпит неудачу, потому что куча 4096 м. Машина 32 бит с 6G установлен

памяти

$free -h 
      total  used  free  shared buffers  cached 
Mem:   5.8G  3.8G  2.0G  186M  351M  2.1G 
-/+ buffers/cache:  1.3G  4.4G 
Swap:   5.8G   0B  5.8G 

Maven

echo $MAVEN_OPTS 
-Xms512m -Xmx1024m -XX:MaxPermSize=1024m 

$ mvn -version 
Invalid maximum heap size: -Xmx4096m 
The specified size exceeds the maximum representable size. 
Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit. 

Java

java -version 
java version "1.8.0_111" 
Java(TM) SE Runtime Environment (build 1.8.0_111-b14) 
Java HotSpot(TM) Server VM (build 25.111-b14, mixed mode) 

Linux

uname -a 102-Ubuntu SMP Tue Aug 11 14:28:35 UTC 2015 i686 i686 i686 GNU/Linux 
+1

Возможный дубликат [Увеличение максимального размера кучи JVM для приложений с интенсивной памятью] (http: // stackoverflow.com/questions/3030263/increment-the-jvm-maximum-heap-size-for-memory-intensive-applications) – rec

+0

спасибо, что я посмотрел на это раньше. Я считаю, что здесь происходит что-то еще, так как я пытаюсь установить размер кучи themax на 1G, и он не работает – Dave

+0

Что такое вывод 'which mvn'? Это сценарий оболочки? Каково его содержание? – Omaha

ответ

0

снова Набор ниже и попробуйте:

Linux:

экспорта MAVEN_OPTS = "- Xmx1024m -XX: MaxPermSize = 1024M"

Окна

набор MAVEN_OPTS = "-Xmx1024m -XX: MaxPermSize = 1024m"

+0

такой же результат. Кажется, что значение размера кучи задается где-то в другом месте, но я не могу думать о месте, которое требует предвидения над сессией bash. – Dave

+1

проверить конфигурационный файл - $ {user.home} /. M2/settings.xml – rsh

+1

Когда-либо проверялся JAVA_OPTS? – khmarbaise

0

Я просто столкнулся с этой же ошибкой, и решение было предоставлено моему через this blog post. В сообщении говорится;

Проверить mvn.bat: MAVEN_OPTS передается в качестве параметра JVM непосредственно:

SET MAVEN_JAVA_EXE = "% JAVA_HOME% \ Bin \ java.exe" % MAVEN_JAVA_EXE% % MAVEN_OPTS% -classpath% CLASSWORLDS_JAR% "-Dclassworlds.conf =% M2_HOME% \ Bin \ m2.conf" "-Dmaven.home =% M2_HOME%" % CLASSWORLDS_LAUNCHER%% MAVEN_CMD_LINE_ARGS%

Если запустить набор MAVEN_OPTS = "- Xmx1024M -XX: MaxPermSize = 256M ", предыдущая команда будет заменена на% MAVEN_JAVA_EXE%" -Xmx1024M -X X: MaxPermSize = 256M "...

Если мы запустим java -Xmx1024M -XX: MaxermSize = 256M" -версия: мы увидим такое же сообщение об ошибке.

Решение простое: Мы можем запустить: набор "MAVEN_OPTS = -Xmx1024M -XX: MaxPermSize = 256M" или удалить двойные кавычки полностью: набор MAVEN_OPTS = -Xmx1024M -XX: MaxPermSize = 256M

значение MAVEN_OPTS будет без каких-либо внешних двойных кавычек.

Это, безусловно, касается моей проблемы.

Смежные вопросы