После установки последней версии Java 7 Development Kit (Java SE 7u11) на моем 32-битном ПК с Windows 7 Professional с 4 Гб оперативной памяти я заметил, что не могу выделить много памяти для Tomcat.
В то время как эти настройки памяти работали для Java Development Kit 6u38:
set JAVA_OPTS=-server -Xms978m -Xmx978m -XX:MaxPermSize=512m
... при запуске с jdk7 эти настройки вызывают выход из программы запуска Tomcat со следующим сообщением об ошибке:
Ошибка при инициализации ВМ
Не удалось зарезервировать достаточно места для кучи объектов
Ошибка: не удалось создать виртуальную машину Java.
Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.
Я попытался снизить настройки Xms и Xmx, и, судя по всему, он не будет работать с более чем 512 м:
set JAVA_OPTS=-server -Xms512m -Xmx512m -XX:MaxPermSize=512m
Все же, systeminfo |find "Available Physical Memory"
говорит мне, что у меня 1200 МБ свободной памяти.
Что-нибудь изменилось в w.r.t. управление памятью Java 7, и означает ли это, что Java 7 может работать только с меньшим объемом памяти?
Спасибо за любой совет,
Рон
Две информации, которые могут помочь вам правильно рассчитать память:
Если у вас также запущен какой-либо другой java-процесс (например, eclipse?), Вы также не увидите выделенную память для этих процессов.