web-dev-qa-db-ja.com

RStudio(デスクトップバージョン)でメモリ制限を設定する方法

同様の質問 here がすでにあったことは承知していますが、答えは古くなっています。インターネットで見つけた情報は、デスクトップではなくRStudio Serverを参照しています。

Windows 7 x64 PCのリソースは限られています。環境変数R_MAX_MEM_SIZEを設定しましたが、これはRGuiによって受け入れられます(memory_limit()と入力すると表示されます)。ただし、RStudio(バージョン0.98.507)はこの設定を無視し、コンピューターのメモリ全体を使用するため、システム全体がクラッシュすることがあります。 RStudio DesktopでRを実行するときにRが使用するメモリの量を制限するにはどうすればよいですか?

21
AnjaM

これは私のPCで動作します:

 # Check memory limit
   memory.limit()
 # Change memory limit
   memory.limit(size = 15000)
2
adjustedR2

memory_limit()が機能しない理由を理解するのではなく、メモリ制限に達したときにRがクラッシュしないようにする方法が問題である場合は、いくつかのオプションがあります。

memory_limit()でWindowsのメモリを制限できない場合:

  • WindowsのバージョンがR(Rstudioではない)のバージョンと一致していることを確認してください。 I.E. Windows x64bitsを使用している場合は、RstudioがR x64bitsで実行されていることを確認してください。これはSys.getenv("R_Arch")を使用して行うことができます。
  • rm(list=ls())を使用して環境をクリーンアップし、以前に保存されたデータセットと関数を削除します。
  • RstudioとRを閉じます。WINDOWS + Rを押すと、Runウィンドウが開きます。 cmdと書き、enterを押します。 cdを使用して、このディレクトリC:\Program Files\RStudio\bin then start rstudio.exeに移動します。 RStudioフォルダーがコンピューターのどこにあるかによって、これを調整する必要がある場合があります。次に、--max-mem-size=4GBと入力してEnterキーを押します。 Rセッションを開始するたびに、これを繰り返す必要があります。これはすべてのコンピュータで機能するわけではありません。
  • ほとんどのコンピューターは、以前にインストールされているものよりも多くのメモリを処理できます。コンピュータが処理できる最大メモリ容量を確認し、物理RAMの追加購入を検討してください。
  • Ctrl+Alt+Delを押して、タスクマネージャを選択します。 Processesで、どのプログラムが大量のメモリを使用しているか、およびそれらを安全に終了できるかどうかを確認します。 Windowsユーザーは不要なプログラムを蓄積する傾向があります。
0
Nakx

私が間違っていなければ、デフォルトではWindowsの制限は4GBです。 @rischanによって提案されたcmdを使用できますが、若干の変更が加えられています。rstudio.exe--max-mem-size = 8GB。

詳細については、新しいスクリプトの実行を開始するときにキャッシュをクリーンアップすることを忘れないでください。これには、次のcmdを使用します。

    rm(list=ls())  --> for clean your environment
    gc() --> for launch the ''garbage collection''
0
Nivek