太阳java6对debian挤压的outofmemory异常,而不是openjdk

时间:2011-12-04 14:21:02

标签: tomcat debian java openjdk

我有一个在Debian上运行的Tomcat6服务器。

使用openjdk-6,我使用相同的内存设置运行了大约一年。

现在,我正在使用一些apache-poi excel导出代码,我遇到了一些字体问题。

所以,我想我会尝试切换到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 -Xmx512m

如上所述,在openSDK中工作,sun-jdk中的outofmemory ......

2 个答案:

答案 0 :(得分:1)

至少在我的系统上运行的版本中,Open JDK的默认堆大小(256 mb)比Sun JVM(128 mb)更高。只需在启动Tomcat时明确设置最大堆大小(即-Xmx256m)。

答案 1 :(得分:0)

如果不是关于堆,请尝试使用以下内容增加permgen大小:-XX:MaxPermSize = 192m