2013-11-06 6 views
1

Привет Я частично тестирую приложение и имеет проблему с кучей пространства. Вот пример кодаEclipse Exception с java.lang.OutOfMemoryError: Java heap space

public class Test { 


Test() 
{ 
    byte[] b = new byte[744678306]; 
} 


public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Test t=new Test(); 
} 

} 

ERRor

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 

Вот ECLIPSE INI конфигурации

-startup 
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835 
-product 
org.eclipse.epp.package.jee.product 
--launcher.defaultAction 
openFile 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
256m 
--launcher.defaultAction 
openFile 
--launcher.appendVmargs 
-vmargs 
-Dosgi.requiredJavaVersion=1.6 
-XX:MaxPermSize=256m 
-Xms800m 
-Xmx999m 

Работа окр: убунт 12 на VBOX.

Спасибо заранее.

+0

Добро пожаловать в прошлое. – MadConan

ответ

4

Вы просите пространства около 750 Мб, но ваша программа начинается с максимально допустимой 256,

Посмотрите на this

Просто добавьте -Xmx2048M (за 2048 Мб, вы можете изменить это number) в списке аргументов VM в соответствующей конфигурации запуска.

+0

, так что я должен изменить -XX: MaxPermSize = 800 м? – draford

+1

№ Конфигурация памяти Eclipse не имеет ничего общего с исполняемой кучей программ. –

+0

Извините, я не вставил ссылку правильно. Взгляните на это сейчас, там вы найдете объяснение того, как увеличить размер кучи. – broncoAbierto

2

Конфигурация запуска Eclipse, которую вы вставили, не имеет ничего общего с вашей проблемой. Eclipse не выполняет ваш код в своей собственной JVM; он запускает отдельную JVM с аргументами, которые вы явно указываете в Eclipse.

После запуска приложения один раз для него будет создана запись «Запуск конфигурации». Перейдите к этой записи (Run -> Configurations ...) и, в соответствии с аргументами VM, укажите больше памяти с помощью -Xmx. По умолчанию Java 7 устанавливает mx в 1 ГБ или четверть общей ОЗУ, в зависимости от того, что меньше.

1

Для избежания ошибки из памяти выполните следующие действия. Затмение ->запустить ->конфигурации запуска ->аргументы. Затем в аргументах VM введите, как показано ниже.

-XX:MaxHeapSize=1024m 

Вы можете указать свой собственный размер памяти.

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