java堆的上限

时间:2011-02-02 11:59:43

标签: java memory

我已经在使用-Xmx2G了。我还能继续增加它吗?它是否依赖于我使用的机器

2 个答案:

答案 0 :(得分:6)

来自Java Tuning White Paper

  

4.1.2堆大小

     

Java的最大堆大小   申请受到三个人的限制   因素:过程数据模型   (32位或64位)和相关的   操作系统的局限性   可用的虚拟内存量   系统和物理量   系统上可用的内存。

     

在   特定于Java堆的大小   申请永远不会超过甚至   达到最大虚拟地址   过程数据模型的空间。为一个   32位进程模型,最大   进程的虚拟地址大小是   通常为4 GB,但有些操作   系统将此限制为2 GB或3 GB。   通常是最大堆大小   -Xmx3800m(1600m),2 GB限制),但实际限制是   依赖于应用程序。

答案 1 :(得分:0)

为什么不通过运行具有不同堆选项的java进行实验,直到它抱怨为止。当然它的依赖,如果你的机器只有64k,那么你不能期望它具有相同的堆容量能力的千兆怪物!