java堆设置中的最大堆大小的限制

问题描述:

是否有限制增加java中的最大堆大小?我想知道,只要物理内存可用,是否可以设置大堆大小。java堆设置中的最大堆大小的限制

例如,如果服务器有100G的RAM,那么我可以设置最大堆在90G?我知道GC会暂停应用程序,但我只是好奇。

谢谢。

对于32位JVM,硬限制为4 GB,但实际的限制为较低,至少如果您未运行64位操作系统,则必须留出一些空间用于非堆内存,例如JVM自己的地址空间(非java),所有线程的堆栈,体系结构/操作系统限制等等。一个64位的JVM没有这样的限制,所以你可以设置限制为90 GB,但我不会推荐它,因为你已经指出。

+0

你能否给我一个解释你的答案的理由,因为我对此不确定。 – rehan

+0

@rehan我的答复的哪一部分是你不确定的? – jlliagre