同様の質問 here がすでにあったことは承知していますが、答えは古くなっています。インターネットで見つけた情報は、デスクトップではなくRStudio Serverを参照しています。
Windows 7 x64 PCのリソースは限られています。環境変数R_MAX_MEM_SIZEを設定しましたが、これはRGuiによって受け入れられます(memory_limit()
と入力すると表示されます)。ただし、RStudio(バージョン0.98.507)はこの設定を無視し、コンピューターのメモリ全体を使用するため、システム全体がクラッシュすることがあります。 RStudio DesktopでRを実行するときにRが使用するメモリの量を制限するにはどうすればよいですか?
これは私のPCで動作します:
# Check memory limit
memory.limit()
# Change memory limit
memory.limit(size = 15000)
memory_limit()
が機能しない理由を理解するのではなく、メモリ制限に達したときにRがクラッシュしないようにする方法が問題である場合は、いくつかのオプションがあります。
memory_limit()
でWindowsのメモリを制限できない場合:
Sys.getenv("R_Arch")
を使用して行うことができます。rm(list=ls())
を使用して環境をクリーンアップし、以前に保存されたデータセットと関数を削除します。WINDOWS + R
を押すと、Run
ウィンドウが開きます。 cmd
と書き、enter
を押します。 cd
を使用して、このディレクトリC:\Program Files\RStudio\bin then start rstudio.exe
に移動します。 RStudioフォルダーがコンピューターのどこにあるかによって、これを調整する必要がある場合があります。次に、--max-mem-size=4GB
と入力してEnterキーを押します。 Rセッションを開始するたびに、これを繰り返す必要があります。これはすべてのコンピュータで機能するわけではありません。Ctrl+Alt+Del
を押して、タスクマネージャを選択します。 Processes
で、どのプログラムが大量のメモリを使用しているか、およびそれらを安全に終了できるかどうかを確認します。 Windowsユーザーは不要なプログラムを蓄積する傾向があります。私が間違っていなければ、デフォルトではWindowsの制限は4GBです。 @rischanによって提案されたcmdを使用できますが、若干の変更が加えられています。rstudio.exe--max-mem-size = 8GB。
詳細については、新しいスクリプトの実行を開始するときにキャッシュをクリーンアップすることを忘れないでください。これには、次のcmdを使用します。
rm(list=ls()) --> for clean your environment
gc() --> for launch the ''garbage collection''