Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Как увеличить память для програмы в Eclipse


Автор: Vitaly333 19.3.2007, 15:39
Как увеличить размер кучи для програмы в Eclipse?
При такой конструкции 

Код

double[][] A = new double[3000][3000];


 Eclipse уже отказывается работать и выдает ошибку
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Автор: LSD 19.3.2007, 15:43
Укажи ключ запуска -Xmx***М.

Автор: Vitaly333 19.3.2007, 15:44
Код

-Xmx***М

Как это сделать?

Автор: LSD 19.3.2007, 16:06
Идешь в Run\Run..., там выбираешь нужную конфигурацию, и на закладке Arguments, в VM Arguments пишешь -Xmx1024M.

Автор: Vitaly333 20.3.2007, 16:56
Цитата

там выбираешь нужную конфигурацию, и на закладке Arguments, в VM Arguments пишешь -Xmx1024M. 

Ооо... спасибо. Максимум -Xmx 1600M для WinXP как я понял. А что означает -Xmx?

Автор: powerOn 20.3.2007, 21:00
Цитата(Vitaly333 @  20.3.2007,  16:56 Найти цитируемый пост)
Максимум -Xmx 1600M для WinXP как я понял.

Нет. Максимум равняется сумме объема оперативы и объема файла подкачки. 

Цитата(Vitaly333 @  20.3.2007,  16:56 Найти цитируемый пост)
А что означает -Xmx? 

Это ключ для запуска JVM, который как раз и задает максимальный размер кучи, что позволено ей использовать.

Автор: LSD 20.3.2007, 22:56
Цитата(powerOn @  20.3.2007,  21:00 Найти цитируемый пост)
Нет. Максимум равняется сумме объема оперативы и объема файла подкачки.

Нет, для 32-х битных Windows максимум это приблизительно 1600Мб (для Линукс тоже приблизительно столько же).
Если найду топик где это обсуждалось кину ссылку.

Автор: powerOn 21.3.2007, 00:17
Цитата(LSD @  20.3.2007,  22:56 Найти цитируемый пост)
Нет, для 32-х битных Windows максимум это приблизительно 1600Мб (для Линукс тоже приблизительно столько же).
Если найду топик где это обсуждалось кину ссылку. 


ясно. Я тестировал -Xmx (а это было давненько) на машине, где эта сумма не превышала 1600m. Наверное от того у меня и сложилось подобное впечатление.  smile 

Автор: Vitaly333 21.5.2008, 20:35
Цитата

Нет, для 32-х битных Windows максимум это приблизительно 1600Мб (для Линукс тоже приблизительно столько же).
Если найду топик где это обсуждалось кину ссылку.


У меня Windows XP x32 физической памяти - 1.5 ГБ. Файл подкачки - 2046 МБ. JDK 5.0 Но почему то больше 1380 Мб выделить не получается. На 1381 мб. уже выдет ошибку Exception in thread "main" java.lang.OutOfMemoryError: Java heap space. 
Как можно увеличть хотя бы до 1600?

И ещё сколько можно выделить памяти максимум для Ява - машины (и для приложений вообще) в Windows Vista x64? Там есть вообще такие ограничения?



Автор: w1nd 27.5.2008, 22:55
Если у вас установлена WinXP, добавьте в boot.ini ключ /3GB - это увеличит адресное пространство процесса на 1 Гб и, соответственно, позволит jvm использовать больше памяти.

Добавлено через 6 минут и 9 секунд
Цитата(Vitaly333 @  21.5.2008,  20:35 Найти цитируемый пост)
И ещё сколько можно выделить памяти максимум для Ява - машины (и для приложений вообще) в Windows Vista x64? Там есть вообще такие ограничения?

Цитата(http://technet.microsoft.com/ru-ru/magazine/cc162480.aspx)
<...> в 64-разрядной версии ОС Windows Vista пределы адресных пространств не представляют практических ограничений, поэтому они не требуют каких-либо особых мер и установлены на максимальные значения.

Автор: Vitaly333 28.5.2008, 23:50
Цитата

Если у вас установлена WinXP, добавьте в boot.ini ключ /3GB - это увеличит адресное пространство процесса на 1 Гб и, соответственно, позволит jvm использовать больше памяти.

Добавил. Всё равно не удается выделить больше 1.3. Пишет 

Код

Error occurred during initialization of VM
Could not reserve enough space for object heap
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)