R错误:java.lang.OutOfMemoryError:Java堆空间
我正在尝试将R连接到Teradata以将数据直接拉入R进行分析。 但是,我得到的错误是:
Error in .jcall(rp, "I", "fetch", stride, block) : java.lang.OutOfMemoryError: Java heap space
我试图通过执行以下操作来设置我的R选项以增加JVM的最大堆大小:
options(java.parameters = "-Xmx8g")
我还尝试用rJava函数.jinit
初始化java参数: .jinit(parameters="-Xmx8g")
。 但仍然失败了。
计算出的数据大小应约为3G(实际上小于3G)。
有人可以帮我吗? 任何建议表示赞赏。
在加载rJava或任何其他包之前,您需要确保分配额外的内存。 首先擦除环境(通过rm(list = ls())
),如果必须,重新启动R / Rstudio,并修改脚本开头的选项。
options(java.parameters = "-Xmx8000m")
例如,参见https://support.snowflake.net/s/article/solution-using-r-the-following-error-is-returned-javalangoutofmemoryerror-gc-overhead-limit-exceeded