【发布时间】:2012-09-20 05:04:23
【问题描述】:
我的 Linux 机器上有 16GB RAM,并使用 -Xmx4096m 参数将最大 Java 堆内存设置为 4GB。但是当我开始我的过程时出现以下错误。
最大堆大小无效:-Xmx4096m 指定大小超过 最大可表示尺寸。无法创建 Java 虚拟机。
当我将值设置为 2048m 时它工作正常。
我需要更改任何其他配置参数以增加堆大小吗?
提前致谢!
【问题讨论】:
-
你运行 64bit linux 还是 32bit?
-
你的机器架构是什么?在 32 位机器上,最大可用堆大小为 1628MB?
-
感谢大家的回复。我正在运行 64 位 Linux。它适用于 2048MB 的堆大小。
-
如果您的 JVM 是 32 位或 64 位,您仍然没有指定。常见问题解答引用:“在运行 32 位 VM 的 64 位操作系统上,最大堆大小可能更高,在许多 Solaris 系统上接近 4G。” oracle.com/technetwork/java/… $ java -version 能够告诉你你正在使用哪个 JVM。
-
我使用 32 位 JVM。会不会是个问题。可能这解释了这种行为。
标签: java heap-memory