Я не могу запустить java, если я установил Xmx в 967 или более высокое значение.
C:\Documents and Settings\salesforce > java -Xmx967m -version Ошибка произошло во время инициализации VM. Не удалось зарезервировать достаточно места для кучи объекта Ошибка: не удалось создать виртуальную машину Java. Ошибка: произошло фатальное исключение. Программа выйдет.
Если я запустил ту же команду, но с Xmx до 966 она работает правильно:
C:\Documents and Settings\salesforce > java -Xmx966m -version java версия "1.7.0_25" Java (TM) SE Runtime Environment (build 1.7.0_25-b17) Клиентская виртуальная машина Java HotSpot (TM) (сборка 23.25-b01, смешанный режим)
Перед выполнением команды доступно 3 ГБ оперативной памяти (диспетчер задач).
Окружающая среда:
Спасибо
JVM использует немного больше, чем просто размер кучи для внутренних компонентов. Это может легко объяснить несколько сотен МБ в зависимости от того, как вы настроили вещи (пространство перм, размер стека потоков, количество потоков и т.д.). Вы используете 32-битный jvm, поэтому максимальный размер процесса будет 2 ГБ на Windows 32 бит, я считаю. Я считаю, что есть способы расширить это до 3 ГБ (например, http://dwf.blogs.com/beyond_the_paper/2009/04/enabling-3gb-switch-on-windows-vista.html содержит некоторые объяснения); но прошло какое-то время, так как я был в такой среде. Таким образом, вы, вероятно, приближаетесь к пределу.
Java -Xmx966m MaxMemory
вы запуститьJava -Xmx966m MaxMemory
Это сообщит о «Макс. памяти» на основе распределения кучи по умолчанию.