如何在RStudio(桌面版)中设置内存限制?

时间:2014-05-30 08:24:41

标签: r rstudio

我知道已经有类似的问题here,但答案已经过时了。我在互联网上找到的信息是指RStudio Server而不是Desktop。

我的Windows 7 x64 PC资源有限。我已经设置了环境变量R_MAX_MEM_SIZE,这被RGui接受(如输入memory_limit()时所见)。但是,RStudio(版本0.98.507)忽略了这个设置,仍然使用我的计算机的整个内存,这有时会导致整个系统崩溃。如何在RStudio Desktop中运行R时限制R使用的内存量?

3 个答案:

答案 0 :(得分:0)

如果我没记错的话,默认情况下Windows的限制为4GB。您可以使用@rischan提出的cmd,但需进行少量修改:rstudio.exe --max-mem-size = 8GB。

有关信息,请不要忘记在开始执行新脚本时清理缓存。为此,请使用以下cmd:

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

答案 1 :(得分:0)

如果您的问题是如何防止R在达到内存限制时崩溃,而不是弄清楚memory_limit()为何不起作用,那么有几个选择。

如果memory_limit() 不允许您限制Windows上的内存:

  • 检查Windows版本是否与R版本(不是Rstudio)匹配。即如果您有Windows x64位,请检查Rstudio是否在R x64位上运行。可以使用Sys.getenv("R_ARCH")完成。
  • 使用rm(list=ls())清洁环境,以摆脱以前存储的数据集和函数。
  • 关闭Rstudio和R。按WINDOWS + R,将打开一个Run窗口。编写cmd,然后按enter。使用C:\Program Files\RStudio\bin then start rstudio.exe导航到此目录cd。您可能需要根据您的RStudio文件夹在计算机上的位置进行调整。然后输入--max-mem-size=4GB并按Enter。每当您要启动R会话时,都需要重复此操作。可能无法在每台计算机上使用。
  • 大多数计算机可以处理的内存比以前安装的要多。检查计算机可以处理的最大内存容量,然后考虑购买更多的物理RAM。
  • Ctrl+Alt+Del并选择任务管理器。在Processes下,检查哪个程序正在使用大量内存,以及是否可以安全地结束它们。 Windows用户倾向于积累不必要的程序。

答案 2 :(得分:0)

这适用于我的PC

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