【问题标题】:Why does the exception "java.lang.OutOfMemoryError: Java heap space" keep appearing even after changing the -xmx VM option? [duplicate]为什么更改 -xmx VM 选项后仍会出现异常“java.lang.OutOfMemoryError: Java heap space”? [复制]
【发布时间】:2019-08-03 15:37:17
【问题描述】:

我在 8GB RAM 的 Mac 上使用 64 位操作系统。我需要在用 Java 编写的程序中为一些字节数组分配 2.9GB(我只是声明它们)。由于默认情况下您不能使用超过 1GB 的堆空间来运行 java 项目,因此如果您的程序需要更多,则需要在 VM 选项中指定。我在 IntelliJ Idea 上,所以我通过继续 Help -> Edit Custom VM Options 然后更改 -xmx 字段来做到这一点。但是无论我分配多少 MB,程序都无法运行,因为这个异常:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,好像我没有更改 VM 选项中的任何内容。运行程序时,PC 有足够的可用 RAM 来容纳 2.9GB 的数组。

【问题讨论】:

  • 你将堆大小设置为多少?
  • 您确定它消耗的空间不超过 2.9GB?你传递的 -xmx 参数是什么?
  • 你是否 100% 确定不分配超过 2,9GB,一个提示是知道你使用了什么类型的数据,因为例如 int 类型分配 4 位

标签: java intellij-idea heap-memory ram


【解决方案1】:

Help -> Edit Custom VM Options 是为 IDEA 本身设置的,而不是你的程序。将-Xmx 设置为Run -> Edit Configurations.. -> your application -> VM options

【讨论】:

  • 这解决了它。
猜你喜欢
  • 1970-01-01
  • 2016-04-15
  • 2010-12-25
  • 1970-01-01
  • 2012-08-03
  • 2018-07-04
  • 2018-08-19
  • 2013-05-18
  • 1970-01-01
相关资源
最近更新 更多