我有以下问题:
我正在使用R执行相当耗费资源的计算:
library(fDMA)
和命令:
grid.dma(y= dmLOGRET2,x=dmlDRIVERS2,grid.alpha=gra,grid.lambda=grl,initvar=4400000,parallel=TRUE)
如果我使用了所有变量,那么在我分配了20gb的ram和90gb的R分配后的50小时内,我的计算机无法完成任务。 (我必须将RAM的使用限制为20gb,这样我的计算机才能运行得比较平稳) 我的计划是在启用--enable-memory-profiling选项的情况下重新编译R,然后使用:
profmem({grid.dma(...)})
但这只是显示了完成的计算的内存消耗,而不是计算过程中使用的最大内存。
我想假设我要租用多少RAM,让计算通过一个从两个到“可行”数量的变量的循环,然后外推到我拥有的变量总数。测量R实例消耗的RAM数量(它产生R实例的线程总数-1)。 我现在看到的唯一方法是坐在电脑前几天,然后用手记笔记,这不是我想要做的。
所以问题是,无论如何,我是否可以跟踪命令生成的R实例使用的RAM和交换量?