R
Ubuntu 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
終了後にメモリを強制的に解放する (およびサブプロセスを強制終了する) にはどうすればよいですか?