簡體   English   中英

R 32位中的Java堆空間錯誤

[英]Java heap space error in R 32 bit

我在嘗試使用包xlsx read.xlsx函數時read.xlsx R 錯誤。 錯誤說“

.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :java.lang.OutOfMemoryError: Java heap space

我試過使用openxlsx包,它工作正常,但我只想使用xlsx包。 我還嘗試設置 java 參數以在從 R 會話卸載所有包后增加堆空間,但它不起作用。 我在 64 位系統上使用 32 位 R、32 位 Java,並在我的環境變量中聲明了所有可能的路徑。

非常感謝您的幫助!

我不知何故以不可重現的方式遇到了這個問題,部分使用-Xmx8g解決了它,但隨機遇到了問題。

在這里使用不同的垃圾收集器描述了一個選項

options(java.parameters = c("-XX:+UseConcMarkSweepGC", "-Xmx8192m"))
library(xlsx)

在腳本的開頭和加載任何其他包之前,因為其他包可以自己加載一些 java 東西,並且必須在加載任何 Java 之前設置選項。

到此為止,問題沒有再出現。

只是有時在長時間的會話中它仍然會發生。 但在這種情況下,會話重啟通常可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM