java堆设置中最大堆大小的限制
java中增加最大堆大小有限制吗?我想知道只要物理内存可用,是否可以设置大堆大小。
例如,如果服务器有 100G RAM,那么我可以将最大堆设置为 90G 吗?我知道 GC 会停止应用程序,但我只是好奇。
谢谢。
is there limit to increase the max heap size in java? I am wondering if the large heap size can be set as long as the physical memory is available.
For example, if a server has 100G for RAM, then can i set the max heap at 90G? I know that GC will halt the app, but I am just curious.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 32 位 JVM,硬限制为 4 GB,但实际限制会更低,因为至少如果您没有运行 64 位操作系统,则必须为非堆内存留出一些空间,例如 JVM 自己的地址空间(非java)、所有线程的堆栈、体系结构/操作系统限制等。 64 位 JVM 没有这样的限制,因此您可以将限制设置为 90 GB,但由于您已经指出的原因,我不会推荐它。
With a 32 bit JVM, the hard limit would be 4 GB but the actual one would be lower as, at least if you aren't running a 64 bit OS, some space must be left for non heap memory, like the JVM own address space (non java), stacks for all threads, architecture/OS limitations and the likes. A 64 bit JVM has no such limitation so you could set the limit to 90 GB although I wouldn't recommend it for the reason you already pointed.