Недостаточно памяти для Java Runtime Environment в Eclipse - PullRequest
0 голосов
/ 13 сентября 2018
There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap

   # An error report file with more information is saved as:
   # C:\jboss-eap-services-6.4.4\bin\hs_err_pid6632.log
  Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; 
  support was removed in 8.0

При указанной выше проблеме я пытаюсь запустить сервер jboss.Я попытался несколько шагов, и я не мог найти правильное решение.

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Пожалуйста, используйте следующую настройку, чтобы выделить память для постоянного местоположения -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit

0 голосов
/ 13 сентября 2018

Это то, что это JBoss (не Eclipse), который падает. Так что увеличивать память «Затмения» бесполезно! (На самом деле это может ухудшить ситуацию.)

Второе, на что следует обратить внимание, это то, что у вас недостаточно места в собственном запросе на выделение, поэтому увеличение размера обычной кучи не поможет. Такие параметры, как следующие, вероятно, не помогут! (На самом деле они могут ухудшить ситуацию.)

 -Xms1024m -Xmx1024m -XX:-UseGCOverheadLimit

Третье, на что нужно обратить внимание, - это то, что в вашей JVM нет пространства PermGen, так что с размером PermGen приходится работать через

 -XX:PermSize=512m -XX:MaxPermSize=512m 

бесполезно. (Это то, что говорит Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0)

Так в чем же настоящая проблема?

Ну, вы используете 64-битную JRE, так что это не архитектурная проблема. (На 32-битной JRE адресное пространство JVM имеет жесткие ограничения ...)

На самом деле, это проблема вне самой JVM. По сути, JVM запросила у ОС больше памяти, а ОС ответила «Нет!». Я могу привести два возможных объяснения:

  1. Может существовать «ulimit» для каждого процесса, который ограничивает размер процесса. Ваша JVM запросила превышение этого лимита.

  2. Возможно, операционная система исчерпала виртуальное адресное пространство или отображаемую виртуальную память. Первое маловероятно. Последнее обычно возникает из-за того, что вашей ОС не хватает оперативной памяти и / или пространства подкачки. Это также может произойти, если вы работаете на виртуальной машине, которая ... недостаточно щедра наделена ресурсами памяти.

Теперь кажется, что это может происходить, когда JVM пытается увеличить кучу Java. Но в любом случае проблема не в размере кучи Java.

0 голосов
/ 13 сентября 2018

Вы можете попытаться увеличить память затмения, вы можете сделать это в файле le eclipse.ini (рядом с исполняемым файлом eclipse) или в аргументах командной строки: -Xms256m -Xmx16348m

...