私は機械学習を大規模に行っていますが、Rメモリの占有のために計算が非常に遅くなっています。
オブジェクトをクリアし、gc()
と結果を試しました:
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 4460452 231.5 15288838 1116.6 36599071 1954.7
Vcells 29572776 349.4 324509788 2712.9 350796378 3376.4
タスクマネージャーに、メモリの3 GBを超えるRセッションがまだ割り当てられていることが示され、コンピューターの速度が依然として遅い。
Rが取得したメモリを解放するにはどうすればよいですか? (PCを再起動したくない)
私が見つけた最良の解決策は、Rセッションを再起動することです。 Rスタジオでctr+shft+f10
ワークスペースを保存したくない場合
makeActiveBinding("refresh", function() { system(paste0(R.home(),"/bin/i386/R")); q("no") }, .GlobalEnv)
paste0(R.home(),"/bin/i386/R --no-save") #--save will save workspace
乾杯。
2つの手順に従う必要があります。最初にrm(list = ls())
を実行しますが、ls()内のすべてのオブジェクトを削除しますが、.rs.restartR()
を使用してRを再起動する必要があります
これにより、メモリが事実上完全にクリアされます。
この答えのように- https://stackoverflow.com/a/8813862/2602477 -「gcはまだ使用している変数を削除しません。にアクセスできます」。
rm関数を使用して、作業環境の(ほぼ)すべてを削除できます。
rm(list = ls())
非表示のオブジェクトも削除する場合は、使用する必要があることに注意してください
rm(list = ls(all.names = TRUE))