Выделение оперативной памяти для Eclipse

Последнее сообщение
Dorzhi 970 17
Дек 06

Вопрос, кто нить в курсе, сколько Эклипс100 мыжет выделить памяти максимально, когда используешь ключевое слово MEMORY?

volvlad 2196 17
Дек 06 #1

Одним процессом больше 2GB не выделишь.

Всего максимальный размер оперативной памяти в 32-bitной ОС 4GB, но насколько я знаю по умолчанию в win32 кажый процесс может адреcовать не более 2Gb. Как-то можно это значение увеличить например до 3GB.

Выход: Переход на 64 разряда! smile.gif

Злой 288 17
Дек 06 #2

Aга, я тоже слышал что 32bitный exe больше двух гигов не потянет. Как вариант можно использовать Impes вместо Implicit, но это тоже зависит от ситуации, иногда наоборот хуже, надо смотреть по модели.

AlexM 41 17
Дек 06 #3

32bit системе ОС под процессы выделяет максимум 2Gb, в реальности Eclipse может использовать примерно до 1.5Gb, в теории (в реальности не всегда) для E100 нет необходимости использовать Memory.
В Eclipse 300 по умолчанию ограничение 250Mb, вот тут и надо использовать Memory.

BIGMODEL позволяет использовать до 8Gb, но если и система, и Eclipse 64bit.

Dorzhi 970 17
Дек 06 #4

спасибо, да , действительно больше 1.5 Гб эклипс не выделяет

volvlad 2196 17
Дек 06 #5

Второй вариант ипользовать распараллеливание вычислений.
Опция PARALLEL.
В этом случае моделька делится на равные части и на каждом реальном или виртульном процессоре запускается более мелкая модель с меньшими затратами памяти.

Гоша 1201 17
Дек 06 #6

V. Volkov пишет:

Второй вариант ипользовать распараллеливание вычислений.
Опция PARALLEL.
В этом случае моделька делится на равные части и на каждом реальном или виртульном процессоре запускается более мелкая модель с меньшими затратами памяти.


Ага. И работает вроде через mpi интерфейс. Остается токо свой софт наваять и кластер готоф.

volvlad 2196 17
Янв 07 #7

Гоша пишет:

Ага. И работает вроде через mpi интерфейс. Остается токо свой софт наваять и кластер готоф.


Не надо ничего писать, все уже написано до нас smile.gif
Есть, например, программулина MPIPro от Verari Systems

Гоша 1201 17
Фев 07 #8

V. Volkov пишет:

Не надо ничего писать, все уже написано до нас smile.gif
Есть, например, программулина MPIPro от Verari Systems


Я имел в виду удобный интерфейс чтобы очередь заданий закидывать на свой кластер, расчеты получать итд.

Но есть такая бодяга, что распараллеливание через mpipro не работает с сервиспаком2 на ХР

EmptyEye13 102 16
Ноя 07 #9

V. Volkov пишет:

Всего максимальный размер оперативной памяти в 32-bitной ОС 4GB, но насколько я знаю по умолчанию в win32 кажый процесс может адреcовать не более 2Gb. Как-то можно это значение увеличить например до 3GB.


здесь написано как - http://mpan3.homeip.net/?blendermemory , редактированием файла boot.ini
но все равно конечно иметь бы лучше все проги под 64 бит..

Mishgen 144 16
Ноя 07 #10

Dorzhi пишет:

спасибо, да , действительно больше 1.5 Гб эклипс не выделяет

Не согласен. Eclipse тут абсолютно не причем.
1. Запускаем Eclipse на PC под Linux - считаем 2 Гб без проблем.
Вывод: память не выделяет Windows а Eclipse и рад бы, да ... недают
2. Пишем свою програмку последовательно запрашивающую у Windows больше и больше памяти с выводом сообщения когда в выделении памяти было отказано. Запускаем на разных PC под Win. ... Получаем разные результаты (1.4 - 1.7) - зависит от железа, версии Windows и опций. Мой лучший результат - WinNT для родного Eclipse не пожалел 1.7 Гб.
Вывод: если ситуация "на грани" (1.5-1.6) стоит попробовать побороться с Windows. Если ровно 2 Гб хватит стоит подумать о Linux.

Mishgen 144 16
Ноя 07 #11

EmptyEye13 пишет:

здесь написано как - http://mpan3.homeip.net/?blendermemory , редактированием файла boot.ini
но все равно конечно иметь бы лучше все проги под 64 бит..

Пытался когда-то. Строки в boot.ini
/fastdetect /3GB /Userva=2900 /NoExecute=OptOut под WindowsXP не помогают. Есть подозрение что для того, чтоб программа воспользовалась этой опцией она должна быть скомпиллирована с "флагом LLA", но к Eclipse похоже это не относиться.
Так что ... PARALLEL.

С уважением,
Инженер

Mishgen 144 16
Ноя 07 #12

Гоша пишет:

Я имел в виду удобный интерфейс чтобы очередь заданий закидывать на свой кластер, расчеты получать итд.

Но есть такая бодяга, что распараллеливание через mpipro не работает с сервиспаком2 на ХР

Уважаемый, хватит народ пугать.
Использую WinXP Professional V2002 SP 2, MPI/Pro V 1.7.0, Eclipse 2005a_1 (ну вот не люблю я эти вечные апгрейты) .... проблем нет.
Ищите проблему в конфигурации/инсталляции - mpipro с сервиспаком2 на XP дружит. Слышал о проблеме mpi-eclipse2007-Win64 что-то о другой версии mpi, но тут не подскажу.

С уважением,
Инженер

Mishgen 144 16
Ноя 07 #13

V. Volkov пишет:

Второй вариант ипользовать распараллеливание вычислений.
Опция PARALLEL.
В этом случае моделька делится на равные части и на каждом реальном или виртульном процессоре запускается более мелкая модель с меньшими затратами памяти.

Уточнение - равными части получаются по-умолчанию далеко не всегда. Когда работаешь "на грани" (на один процесс приходится ~ 1.5-1.6) можно воспользоваться ключевыми словами SOLVDIRS и DOMAINS.

С уважением,
Инженер.
P.S. Хм, а за "виртуальный процессор" спасибо, совсем забыл, что и на 4-х процессорной машинке можно разбить задачу на 8 кусков. Upscaling отменяется.

volvlad 2196 17
Ноя 07 #14

Mishgen пишет:

Уточнение - равными части получаются по-умолчанию далеко не всегда. Когда работаешь "на грани" (на один процесс приходится ~ 1.5-1.6) можно воспользоваться ключевыми словами SOLVDIRS и DOMAINS.

С уважением,
Инженер.
P.S. Хм, а за "виртуальный процессор" спасибо, совсем забыл, что и на 4-х процессорной машинке можно разбить задачу на 8 кусков. Upscaling отменяется.

"равные" - это условно... Само собой разделить на домены можно так, как тебе надо. По умолчанию модель делится на домемы исходя из приблизительно равного кол-ва ячеек.

Alex Bordzilovsky 41 17
Янв 08 #15

Доброго дня Коллеги biggrin.gif . Если кто нибудь сталкивался с такой проблемой подскажите пожалуйста. Как решить проблему, связанную с выделением памяти в Эклипс. В больших задачах (более 1000 Мб) при использовании Windows XP ОС отказывает Эклипсу в выделении памяти. Это случается как при использовании ключевого слова memory так и без него. Оговорюсь, что о решении проблемы, связанной с использованием параллельной опции знаю. Вопрос именно в выделении большого объема памяти в обычном Эклипсе или если хотите в выделении Очень большого объема в параллельном (например, более 4 Гб при 4 запущенных процессах в параллельной опции).

Тема объединена с существующей... V.Volkov

Unknown 1640 17
Янв 08 #16

переходи на 64битную ХРsmile.gif

Alex Bordzilovsky 41 17
Янв 08 #17

Unknown пишет:

переходи на 64битную ХРsmile.gif

Леха Привет! biggrin.gif У нас на паре машин 64 разрядная XP не помогает, больше 940Мб на один процесс для еклипса вообще никогда не дает в чем засада не ясно sad.gif
Кстати подтверждаю програмулина Verari Systems MPI прекрасно работает на XP с SP2 собсно в данный момент и пашет))

volvlad 2196 17
Янв 08 #18

Alex Bordzilovsky пишет:

У нас на паре машин 64 разрядная XP не помогает, больше 940Мб на один процесс для еклипса вообще никогда не дает в чем засада не ясно sad.gif

Eclipse-то все равно 32-х битный... видимо в этом загвоздка... 32-х разрядное приложение физически не сможет использовать больше 4 гигов... А тут еще и винда по ходу урезает...
Сегодя пообщавшись с твоим коллегой и протестировав пару моделей на своем компе, получил следующее:
словом MEMORY ограничивается объем выделяемой виртуальной памяти... размер выделяемой оперативки не зависит от значения в MEMORY ( т.е. зависит от размера модели, NSTACK и пр.).
Выделить больше 1.5 гигов (виртуальной) у меня не получилось...

Буду пытаться еще...

Unknown 1640 17
Янв 08 #19

Привет Саня!
Собственно Вова все уже написалsmile.gif

Mishgen 144 16
Янв 08 #20

Alex Bordzilovsky пишет:

Леха Привет! biggrin.gif У нас на паре машин 64 разрядная XP не помогает, больше 940Мб на один процесс для еклипса вообще никогда не дает в чем засада не ясно sad.gif
Кстати подтверждаю програмулина Verari Systems MPI прекрасно работает на XP с SP2 собсно в данный момент и пашет))

Позвольте повториться. Не выделят память ... WINDOWS. Причем поставленный на современных многоядерных серверах имеет он некоторый б@кие опции для оптимизации загрузки энтих самых ядер. Одна из таких опций ... максимальное кол-во памяти выделяемое одному процессу. Найдите толкового системщика и ищите нужные настройки. ... Даже для 32-разрядного Eclipse под WINDOWS меньше 1.3 - 1.4Гб не бывает.

Good luck,
Инженер.
P.S. Если почините - черкните путь. Давно с этим сталкивался к тому же на NT.

Mishgen 144 16
Янв 08 #21

Mishgen пишет:

Позвольте повториться. Не выделят память ... WINDOWS. Причем поставленный на современных многоядерных серверах имеет он некоторый б@кие опции для оптимизации загрузки энтих самых ядер. Одна из таких опций ... максимальное кол-во памяти выделяемое одному процессу. Найдите толкового системщика и ищите нужные настройки. ... Даже для 32-разрядного Eclipse под WINDOWS меньше 1.3 - 1.4Гб не бывает.

Good luck,
Инженер.
P.S. Если почините - черкните путь. Давно с этим сталкивался к тому же на NT.

Похоже был не прав - погорячился. Судя по форумам -
WINDOWS 2000 1.4-1.5Гб
WINDOWS XP SP1 1.3-1.4Гб (где-то пишут до 2Гб, но ... это фантастика)
WINDOWS XP SP2 1.2-1.3Гб
Интересно в Viste будет 900Мб?
P.S. Народ у кого системщики грамотные? Пусть хоть ссылку какую дадут, может есть какие-то программки-оптимизаторы настроек :-(

EmptyEye13 102 16
Мар 09 #22

Mishgen пишет:

Интересно в Viste будет 900Мб?


судя по msdn.microsoft.com#physical_memory_limits_windows_vista тоже ~2 Gb

Решений проблемы особо нет, можно попробовать выжать хотя бы 2 Гб (только для проц. Intel)

* Enabling PAE, will limit to the OS to 2GB total. What PAE does is dedicate 2GB to OS and the other 2GB to anything other then the OS. Physical Address Extension - PAE Memory and Windows

А вот это жесть:
* Vista 32bit can see only 3.5GB of ram total. The new sp1 only reports how much memory you have installed, not how much memory you can use.

XFactor 267 15
Мар 09 #23

поставьте ХР64 и забудьте про проблемы с памятью, все вышеизложенное относиться к 32 битам.

на 64 битной висте Эклипс может адресовать до 128 гигов.

sigiz 96 15
Дек 09 #24

Люди помогите плиз что значит ошибка эклипс:
unable to allocate memory for array work
of type double, length 109339165,
and requiring 854212 kbytes/
696 mbytes previously allcoated

все дело в памяти компа или где то в конфиге можно поправить?

XFactor 267 15
Дек 09 #25

Ошибка гооврит о том, что у компа недостаточно оперативки.

karakurt2 94 14
Дек 09 #26

попробуйте увеличить значение для ключевого слова MEMORY в секции RUNSPEC

XFactor 267 15
Дек 09 #27

C 2007 версии Эклипс использует динамическое распределение памяти, по-этому ключ. слово MEMORY не имеет больше никакого влияния. Оно было оставлено только для back compatibility of the models built in previous versionsю

volvlad 2196 17
Дек 09 #28

Уменьшай NSTACK и вноси правки в TUNING.
Еще как вариант - распараллеливание расчета.

Corazon 13 17
Дек 09 #29

А система 64b или 32b? Возникала такая проблема на 64b машине, помогло переключение на 32 бита в эклипс лаунчере.

Go to top