我在网格计算环境中在 R 中运行一些大型回归模型。据我所知,网格只是给了我更多的内存和更快的处理器,所以我认为这个问题也适用于那些在功能强大的计算机上使用 R 的人。
我正在运行的回归模型有很多观察结果,以及几个因子变量,每个变量都有很多(10 或 100)个水平。因此,回归可能会变得计算密集。我注意到,当我在脚本中排列 3 个回归并将其提交到网格时,由于内存限制,它会退出(崩溃)。但是,如果我将它作为 3 个不同的脚本运行,它运行良好。
我正在做一些清理工作,所以在每个模型运行后,我将模型对象保存到一个单独的文件 rm(list=ls()) 以清除所有内存,然后在运行下一个模型之前运行 gc()。尽管如此,在一个脚本中运行所有三个似乎都会崩溃,但拆分工作似乎很好。
系统管理员说打破它很重要,但我不明白为什么,如果我在每次运行后进行清理。3 in one script 无论如何都会按顺序运行它们。有谁知道为什么运行三个单独的脚本有效,但是在一个脚本中运行所有模型会导致 R 出现内存问题?
谢谢!外泄