0

由于 JUnits,我的 Jenkins 构建内存不足。当我尝试给它(JUnits)超过 4GB 时,它会出错。我使用 Linux 作为我的构建机器。

Invalid maximum heap size: -Xmx4096m

我只是想知道,JUnits 可以使用多少堆大小是否有上限?

4

4 回答 4

3

“对于 32 位进程模型,进程的最大虚拟地址大小通常为 4 GB,尽管某些操作系统将其限制为 2 GB 或 3 GB。对于 2 GB 限制,最大堆大小通常为 -Xmx3800m (1600m) ),但实际限制取决于应用程序。对于 64 位进程模型,最大值基本上是无限的。

在这里找到了一个很好的答案:

Windows XP 上的 Java 最大内存

于 2013-07-02T12:16:50.830 回答
2

内存分配给 JVM 而不是 JUnit 或任何其他类。并且在 32 位系统上分配最大 4Gb 是有限制的,但是如果您需要更多内存,请移至 64 位机器,因为最大内存分配没有限制。

于 2013-07-02T13:30:14.267 回答
1

我猜你正在使用 32 位 jvm .. 检查这篇文章:

64 位操作系统上 32 位 JVM 的最大 Java 堆大小

于 2013-07-02T12:14:27.540 回答
0

它不是 JUnit,而是 JVM。4GB 堆对于 32 位 JVM 来说太大了。

于 2013-07-02T12:14:26.277 回答