Windows更新后的JVM内存initializazion错误

我们有两个2 GB RAM的Windows Server 2003。

  • 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减less到了-Xmx768m,现在tomcat就开始了。 但是我们需要更大的堆大小我们的服务器发生了什么事? 提前致谢。

我发现了这个问题。 我卸载了Windows更新KB956572。 在第一次重新启动后,tomcat通常以-Xmx1024m启动。 然后我再次安装Windows更新KB956572。 新的重新启动:tomcat启动失败与以前的错误

  Error occurred during initialization of VM Could not reserve enough space for object heap 

在我的情况下,卸载后,java959572可以分配更多的内存,然后与此更新,但在安装之前。

我认为这个问题的原因在Microsoft文章中有描述: http : //support.microsoft.com/kb/956572/en