我需要监控脚本的 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 (全局部分)。尽管如此,我仍然可以使这种方法以某种方式工作(也许强制重新加载全局变量?!)还是有另一种更适合我可以使用的包/方法?