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

Pom*_*rio 7 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.
Run Code Online (Sandbox Code Playgroud)

什么应该是我的命令行参数,以允许我的堆增长到4GB?

Pom*_*rio 7

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

  • 它表示"混合"模式的事实与您拥有32位或64位JVM的事实无关.它只表示您的JVM混合了两种执行模式"已编译"和"已解释". (7认同)

And*_*bak 5

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