1

RUbuntu 64ビット(14.04)で(バージョン3.0.2)とパッケージを使用read.xlsxして、いくつかのxlsxシートを読み取ります。私はこのようにします:

options(java.parameters = "-Xmx4g" )
require(xlsx)
d1 = read.xlsx2(file, sheetName=sheet.1)
d2 = read.xlsx2(file, sheetName=sheet.2)
d3 = read.xlsx2(file, sheetName=sheet.3)

これは主に機能しRますが、より多くのメモリが必要であり、スワップを開始しても適切な時間内に終了しません。remove(d1)問題は、すべてのデータを削除しても( 、...)メモリがまだ占有されているため、関数の終了後にxlsxファイルの読み取りに使用されたメモリが解放されないことだと思います。read.xlsx使用して使用されている古いオブジェクトを見つけようとしましls()たが、一時オブジェクトはありません...

機能する解決策は、メモリがいっぱいになるまでファイルを読み取ることです。次に、ワークスペースを保存し、 を閉じRてから再度開いRて、保存したワークスペースを読み込みます。しかし、これは確かに最善の解決策ではありません! したがって、実際の質問:read.xlsx終了後にメモリを強制的に解放する (およびサブプロセスを強制終了する) にはどうすればよいですか?

4

0 に答える 0