2012-09-18 15 views
10

xlsxパッケージを使用してワークブック、ワークシートを作成し、シートにデータを書き込み、ブックを保存しています。私は何回かのアクションのこのセットを繰り返したときにしかし、私は、エラーメッセージに起動します。r - rJavaが使用するメモリをクリアするには?

>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" 

私はアクションの繰り返しは、Javaのメモリを消費するので、これがあると思います。

私の質問は、どのようにクリア/再初期化してメモリ不足のエラーを起こさずにこれらの操作を再実行できるのですか?

rには簡単なコードがありますか?

ありがとうございました!

答えて

6

私は実際に私はもはや私が今XLConnectを使用しているため、これらの問題の

を、それを使用し、XLSXでそれを行う方法を知っていませんし、それだけで行うには、コマンド

xlcFreeMemory() 

を持っています

options(java.parameters = "-Xmx4g") 
library(XLConnect) 
を次のようにその

最良の結果を得るためにあなたが前にJavaのメモリを増やす必要があることに注意してください、それをyouload

幸運

関連する問題