java堆的上限

jav*_*erd 1 java memory

我已经在使用-Xmx2G了.我还能继续增加它吗?它取决于我使用的机器

dog*_*ane 6

来自Java Tuning白皮书:

4.1.2堆大小

Java应用程序的最大堆大小受三个因素限制:进程数据模型(32位或64位)和关联的操作系统限制,系统上可用的虚拟内存量以及物理内存量在系统上可用.

特定应用程序的Java堆大小永远不会超过甚至达到过程数据模型的最大虚拟地址空间.对于32位进程模型,进程的最大虚拟地址大小通常为4 GB,但某些操作系统将此限制为2 GB或3 GB.尽管实际限制取决于应用程序,但最大堆大小通常为-Xmx3800m(1600m)(2 GB限制).