我正在使用该foreach
包并行运行我的代码。尽管它适用于“小型”数据集,但无法运行较大的数据集。更具体地说,它会引发此错误:
序列化错误(数据,node$con):写入连接时出错
这是我的代码:
library(foreach)
library(doParallel)
library(iterators)
numCores = detectCores() - 1
clm = makePSOCKcluster(numCores)
registerDoParallel(clm)
results = foreach(i = 1:1000) %dopar% {
myFunction(i, otherArguments)
}
stopCluster(clm)
运行时,我在任务管理器中注意到在程序停止之前内存几乎达到 100%。我尝试使用各种数量的核心并尝试设置memory.limit()
,但不是以系统的方式,问题仍然存在。我的问题可能是什么,我该如何解决?
计算机:Windows 10 64 位,28GB 内存,CPU 8 核,R3.2.2(64 位)
我知道这里发布了类似的内容,但当时问题没有解决。