内存管理 - Java 32 位 - 不能分配超过 -Xmx512m?8 GB,64 位视窗 7



我使用ETL程序Pentaho进行数据集成。我遇到了内存问题,但每次我将"-Xmx512m"设置为更高(1024+)时,都会出现致命错误。

我的计算机上有Java 32位—安装Java 64位可能会解决这个问题吗?(我需要IT来安装程序)。我认为32位的最大GB至少是1G。

同样,我的电脑有8gb的物理内存…我现在没有多少空的,有什么问题吗?我能做些什么来解决这个问题?

任何32位的限制是最大~3GB,但这是针对本机运行的代码。Java在虚拟机中运行。所有Java可以使用的最大容量约为3GB,但除了运行代码之外,还有其他部分可以保持Java的运行,更不用说机器上的其他32位代码了。

同样,您可能调用的特定东西可以限制在不超过2^10(1024)兆字节条目的注册表中。

因此,切换到64位可能有助于解决您的问题,但不能保证在您的系统上本机运行的东西可能会为您正在运行的代码类型使用更小的占用空间。

最新更新