如何设置一个非常大的JVM堆大小?

时间:2012-07-09 15:25:21

标签: jvm

根据JVM 6文档,服务器类机器默认接收初始堆大小为1/4 RAM或1GB。考虑到我们的Solaris 64Bit服务器具有64 GB,初始堆大小默认为256 MB。因此,我需要使用4GB的XMX参数手动设置堆大小。但是,当我添加“-Xmx4096M”时,Tomcat无法启动。以下是错误消息:

Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.

我的命令行参数应该是什么才能让我的堆增长到4GB?

4 个答案:

答案 0 :(得分:7)

感谢您的所有投入,伙计们!但是,我java -version的输出提到mixed mode,这意味着它是64位。真正的解决方案是添加-d64以强制它以64位运行,因此分配4GB。

答案 1 :(得分:4)

我的解决方案基于对问题的评论:您正在使用32位JVM,因此它不能超过4GB(不包括在内)。尝试安装64位版本

答案 2 :(得分:4)

根据java -version的输出,安装了32位JVM。如果它是64位的,你应该得到Java HotSpot(TM) 64-Bit Server VM

尝试安装64位JVM,它将解决您的问题。

答案 3 :(得分:0)

使用-Xmx1024M -XX:MaxPermSize = 256M