切换JVM之后的Tomcat OutOfMemory

我有一台在Debian上运行的Tomcat6服务器,上面运行着4个webapps和一个in-JVM ActiveMQ服务器。

它已经运行了大约一年,与openjdk – 6相同的内存设置。 一切都很花哨,没有问题。

现在,由于各种原因,我需要尝试Sun的JDK。

所以,我用标准的apt-get安装了sun的jvm

apt-get install sun-java6-bin,并使用切换

update-java-alternatives -s java-6-sun

但是,当我启动tomcat,我得到outofmemory,服务器甚至不会启动! 如果我切换回openJDK,所有工作再次罚款。

我以前在这台服务器上没有任何内存问题,所以感觉很奇怪,服务器突然不能启动sun的JDK。

任何人都有任何线索,为什么会发生这种情况? 我错过了什么?

我自然已经在tomcat中设置了堆大小等。 目前正在运行:

-Xms256m -Xmx1024m 

正如上面提到的在openSDK中工作,sun-jdk中的outofmemory …

编辑:服务器是64位,openJDK和Sun都是1.6.0,都是64位的JVM。

要回答我自己的问题,因为我最后想到了这个问题:

事实certificate,我们已经设置了xmx和xms,但是,我们没有设置-XX:MaxPermSize。

这个在openJDK中默认为256mb,而在SunJava中只有128mb。 这是切换时造成的。

在catalina.sh中input-XX:MaxPermSize = 256m之后,在两个JVM中都可以正常工作!