java - 内存不足 : Java heap space,,但在查看堆空间时它最大使用 50 MB

标签 java out-of-memory heap-memory

我正在使用 ASANT 运行一个指向 NARS.jar 文件的 xml 文件。 (我没有NARS.jar的项目文件)

我收到“java.lang.OutOfMemoryError:Java 堆空间。

我在运行 NARS.jar 时使用 VisualVM 查看堆,它显示它最多使用 50 MB 的堆空间。

我已将堆空间的初始大小和最大大小设置为 512 MB。

有人知道可能出了什么问题吗?

我有 1 GB 物理内存并创建了一个 5 GB 页面文件(用于测试目的)。

提前致谢。

最佳答案

您的应用可能会尝试分配超过 512m 限制的内存,因此即使仅使用了 50m,您也会看到内存不足错误。为了测试这一点,我将设置:

-Xms512m -Xmx1024m

看看会发生什么。我还会尝试使用较小的测试文件,例如 1g。继续减小文件大小,直到不再看到错误。如果你成功了,那么问题就在于你想要做的事情以及你想要做的方式需要太多的内存。是时候寻找替代方法了。

关于java - 内存不足 : Java heap space,,但在查看堆空间时它最大使用 50 MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410277/

相关文章:

java - 丰富的日历日期格式

java - Android:图库中的位图出现 outOfMemoryError

java - 在java中批量发送HTTP

node.js\为什么我会收到 RangeError : Maximum call stack size exceeded

Node.js 堆快照和 Google Chrome 快照查看器

java - 在 javascript arraylist 中转换 java 对象列表

java - (Hadoop) : reduce method is not getting executed/called while running mapreduce job

javascript - JavaScript 中数组存储在内存中的什么位置?

java - 由于资源泄漏导致 java 堆空间内存不足问题

Java 正则表达式适用于 Linux,但不适用于 Windows