【发布时间】:2011-08-19 04:44:06
【问题描述】:
在java中增加最大堆大小有限制吗?我想知道只要物理内存可用,是否可以设置大堆大小。
例如,如果服务器有 100G 的 RAM,那么我可以将最大堆设置为 90G 吗?我知道 GC 会停止应用程序,但我只是好奇。
谢谢。
【问题讨论】:
在java中增加最大堆大小有限制吗?我想知道只要物理内存可用,是否可以设置大堆大小。
例如,如果服务器有 100G 的 RAM,那么我可以将最大堆设置为 90G 吗?我知道 GC 会停止应用程序,但我只是好奇。
谢谢。
【问题讨论】:
对于 32 位 JVM,硬限制为 4 GB,但实际限制会更低,因为至少如果您不运行 64 位操作系统,则必须为非堆内存留出一些空间,例如JVM 自己的地址空间(非 java)、所有线程的堆栈、架构/操作系统限制等。 64 位 JVM 没有这样的限制,因此您可以将限制设置为 90 GB,但由于您已经指出的原因,我不推荐它。
【讨论】: