Ошибка инициализации памяти JVM после обновления Windows
У нас три Windows Server 2003 с 2 ГБ оперативной памяти.
- Server1 tomcat 5.5.25 jvm версия SUN 1.6.0_11-b03
- Server2 tomcat 5.5.25 jvm версия SUN 1.6.0_14-b08
- Server3 Tomcat 6.0.18 JVM версии SUN 1.6.0_14-b08
Для трех серверов параметры JVM:
-XX:MaxPermSize=256m
-Dcatalina.base=C:\Programmi\Apache Group\apache-tomcat-5.5.25
-Dcatalina.home=C:\Programmi\Apache Group\apache-tomcat-5.5.25
-Djava.endorsed.dirs=C:\Programmi\Apache Group\apache-tomcat-5.5.25\common\endorsed
-Djava.io.tmpdir=C:\Programmi\Apache Group\apache-tomcat-5.5.25\temp vfprintf
-Xms512m
-Xmx1024m
Несколько месяцев все работало нормально. В прошлую пятницу мы установили некоторые обновления Windows. После перезагрузки Tomcat не запускается с ошибкой:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Мы уменьшили параметр -Xmx1024m до -Xmx768m, и теперь tomcat запускается. Но нам нужен больший максимальный размер кучи. Что случилось с нашими серверами? Заранее спасибо.
2 ответа
В моем случае после удаления KB956572 Java может выделить больше памяти, чем с этим обновлением, но меньше перед установкой.
Я думаю, что причина проблемы описана в статье Microsoft: http://support.microsoft.com/kb/956572/en
Я нашел проблему. Я удалил обновление Windows KB956572. После первой перезагрузки tomcat запустился нормально с -Xmx1024m. Затем я снова установил обновление Windows KB956572. Новая перезагрузка: запуск tomcat завершился с предыдущей ошибкой
Error occurred during initialization of VM
Could not reserve enough space for object heap