Максимальная куча STS / Eclipse JVM ниже свободной памяти на машине - PullRequest
0 голосов
/ 01 июня 2011

Я пытаюсь увеличить максимальную кучу в Eclipse / STS.Я обнаружил, что потолок кажется намного ниже моей свободной памяти.Windows сообщает о 2G доступной памяти в диспетчере задач.Похоже, что JVM в Eclipse может выделить только около 1,2 ГБ.В приведенной ниже конфигурации, найденной в eclipse.ini, если я изменяю -Xmx выше 1200 м, я получаю сообщение об ошибке, что JVM не удалось запуститьПочему это не позволяет мне выделять больше?

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
com.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vm
C:/bea/jdk160_05/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Xms1200m
-Xmx1200m

1 Ответ

2 голосов
/ 01 июня 2011

Обычно это ограничение процесса Windows 2 ГБ / DLL для 32-разрядных систем.Java обычно (и, следовательно, Eclipse) выделяет непрерывный блок памяти для своей кучи.Windows допускает максимум (обычно) 2 Гб для процесса в 32-битной системе.(Есть несколько хитростей, чтобы поднять это до 3Gb.) Раздражающая проблема заключается в том, что библиотеки DLL Windows, вероятно, будут сопоставлены с местами в памяти, которые поглощают эти 2 ГБ - хотя их можно перемещать с помощью техники, называемой перебазированием.В типичных 32-разрядных системах Windows, в зависимости от того, что установлено, вы можете получить от 1,2 ГБ до 1,4 ГБ в непрерывном блоке, и, следовательно, это максимум, что вы можете получить в виде кучи Java.

Единственный реальный способ значительно повысить это - перейти на 64-битную систему.Существуют методы для перемещения библиотек DLL и переключения на 3Gb для ограничения процесса, которые могут внести незначительные улучшения.См. http://msdn.microsoft.com/en-us/windows/hardware/gg487508 для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...