我知道已经有类似的问题here,但答案已经过时了。我在互联网上找到的信息是指RStudio Server而不是Desktop。
我的Windows 7 x64 PC资源有限。我已经设置了环境变量R_MAX_MEM_SIZE,这被RGui接受(如输入memory_limit()
时所见)。但是,RStudio(版本0.98.507)忽略了这个设置,仍然使用我的计算机的整个内存,这有时会导致整个系统崩溃。如何在RStudio Desktop中运行R时限制R使用的内存量?
答案 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上的内存:
Sys.getenv("R_ARCH")
完成。rm(list=ls())
清洁环境,以摆脱以前存储的数据集和函数。WINDOWS + R
,将打开一个Run
窗口。编写cmd
,然后按enter
。使用C:\Program Files\RStudio\bin then start rstudio.exe
导航到此目录cd
。您可能需要根据您的RStudio文件夹在计算机上的位置进行调整。然后输入--max-mem-size=4GB
并按Enter。每当您要启动R会话时,都需要重复此操作。可能无法在每台计算机上使用。Ctrl+Alt+Del
并选择任务管理器。在Processes
下,检查哪个程序正在使用大量内存,以及是否可以安全地结束它们。 Windows用户倾向于积累不必要的程序。答案 2 :(得分:0)
这适用于我的PC
# Check memory limit
memory.limit()
# Change memory limit
memory.limit(size = 15000)