r - Jak wyczyścić pamięć używaną przez rJava?
Używam pakietu xlsx do tworzenia skoroszytu, arkusza, zapisywania danych do arkusza, a następnie zapisywania skoroszytu. Jednak gdy powtarzam ten zestaw działań kilka razy, zaczynam komunikat o błędzie:
>Error in .jcheck(silent = FALSE) :
java.lang.OutOfMemoryError: GC overhead limit exceeded.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, .jcast(if (inherits(o, "jobjRef") || inherits(o, "jarrayRef")) o else cl, "java/lang/Object"), .jnew("java/lang/String", method), j_p, j_pc, use.true.class = TRUE, evalString = simplify, evalArray = FALSE)<S4 object of class "jobjRef"
>Error in .jnew("java/io/FileOutputStream", file) :
Java Exception <no description because toString() failed>.jnew("java/io/FileOutputStream", file)<S4 object of class "jobjRef">
>Error in .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook") :
Java Exception <no description because toString() failed>.jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook")<S4 object of class "jobjRef">
Error in .jcheck(silent = FALSE) :
Java Exception <no description because toString() failed>.jcall(wb, "Lorg/apache/poi/ss/usermodel/Sheet;", "createSheet", sheetName)<S4 object of class "jobjRef"
Chyba dlatego, że powtarzanie akcji pochłania pamięć Java.
Moje pytanie brzmi: jak mogę wyczyścić / ponownie zainicjować pamięć, aby móc powtórzyć te czynności ponownie bez błędów pamięci?
Czy jest jakiś prosty kod, który może to osiągnąć?
Bardzo dziękuję za radę!