Один из наших клиентов сталкивается с этим сообщением об ошибке при попытке запустить второй процесс Java.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Странно, потому что из 8 гигабайт памяти доступно только 2 или 3.
Команда для запуска второго процесса работает нормально, если первый процесс не запущен.Вот команда, используемая для запуска второго процесса:
java -jar Xmx512m -jar xxxJar.jar
Первый процесс запускается как служба Windows.Я не знаю хорошего способа отображения команды запуска для службы, скорее всего, она запускает наш командный файл запуска.Проходя через пакетный файл, похоже, что используются следующие параметры Java:
-Xms1g -Xmx1g -Xss256K -Xverify:none -XX:+TieredCompilation -XX:+UseBiasedLocking
-XX:+UseParNewGC -XX:InitialCodeCacheSize=8m -XX:ReservedCodeCacheSize=32m
-Dorg.terracotta.quartz.skipUpdateCheck=true
Также при запуске службы отображается это предупреждение:
Java HotSpot(TM) 64-Bit Server VM warning: Using the ParNew young collector with the Serial old collector is deprecated and will likely be removed in a future release
Что также странно, потому что яне вижу предупреждения других систем.
Платформа - JDK 1.8.0_111, Windows Embedded 2010.
Вопросы: 1. Почему Java не может запуститься, когда доступно 5,5 гигабайта доступной памяти, и спрашивает толькоза .5 гигов макс?
Почему предупреждение UseParNewGC выдается на этом компьютере, но не на других?