RStudio: Error in .jarray(m) : java.lang.OutOfMemoryError: Java heap space

RStudio: Error in .jarray(m) : java.lang.OutOfMemoryError: Java heap space

为了能够 运行 包 extraTrees(我需要制作极端随机树),我需要在我的 RStudio 中安装 Rjava 包。当我在有限数量的数据(1000 个观测值)中使用下面的代码时,它可以完美地工作。但是我需要能够 运行 50 000-100 000 个观测值的数据集上的代码,并对其进行迭代50次...

library(rJava)
library(extraTrees)

et <- extraTrees(Input, Output, ntree = 300 ,nodesize=3, numRandomCuts=2, numThreads= 4)

当我尝试 运行 时,出现以下错误:

 Error in .jarray(m) : java.lang.OutOfMemoryError: Java heap space 

有人知道怎么解决吗?我一直在寻找答案,但没有找到如何将其放入 RStudio 环境中的方法。

Xmx 标志控制 Java 运行 时间堆的大小。您可以将其增加到更大的值,这可能会让您的 R 代码达到 运行 而不会达到上限:

> options(java.parameters = "-Xmx4g")     # or 8g, or larger than this, ...

请注意,这只会为您的 R 脚本调用的 Java 进程增加堆。在 R 之外,您的 Java 使用的堆大小应该保持不变。如果你愿意,你也可以在外部更改它。

我知道 Xmx 但不知道如何在 R 控制台中执行此操作。为此,我发现了这个有用的博客 post:

http://www.bramschoenmakers.nl/en/node/726

就我而言,我可以使用以下方法解决该问题:

options(java.parameters = "-Xmx1024m")

在加载任何包或库之前。

Example:
> options(java.parameters = "-Xmx1024m")
> library(RJDBC)