根据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?
答案 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