0

我需要监控脚本的 RAM 使用情况A。由于我还需要收集额外的数据,我想在 A 本身中这样做。

我的计划是执行以下操作:

library("future")

monitoring = T

monitor = function()
{    
    resultDF = data.frame(time=NULL, freeMemKB=NULL)
    
    while(monitoring)
    {
        freeMemKB = getFreeMemoryKB()
        time = as.numeric(Sys.time())
        resultDF = rbind(resultDF, data.frame(time=time, freeMemKB=freeMemKB))
    }

    return(resultDF)
}

res %<-% monitor()

# ...
# ... now, do some heavy workload ...
# ...

monitoring = F

# do something sensible with the RAM data, like writing it to a file
write.table(res, filename, ...)

但是,monitor当标志设置为 false 时不会停止执行。根据文档,这种行为似乎是预期的情况:https ://cran.r-project.org/web/packages/future/vignettes/future-1-overview.html (全局部分)。尽管如此,我仍然可以使这种方法以某种方式工作(也许强制重新加载全局变量?!)还是有另一种更适合我可以使用的包/方法?

4

0 回答 0