我需要在 Intel i7(8 核)上进行并行处理,并将 Ubuntu 12.04(64 位)与 R2.15.0(来自 RStudio)一起使用。我已经成功完成了几个星期,但是从昨天开始,任何并行 R 处理的尝试都会减慢处理速度,因此它几乎是死的。计算机本身和以往一样快(网页浏览等),但 R 只是等待和等待。我通常每天更新 Ubuntu(更新管理器),但不确定这是否相关。
此代码阻止我的 R 工作。请不要运行它,除非您对崩溃 R 没问题,并且知道如何使用“KILL -9”...
library(parallel)
library(gsubfn)
doSomething <- function(xx) {
test <- 16
return(test)
}
in.list <- list(1, 2, 3)
out.list.1 <- lapply(in.list, doSomething) # Works well (< 1s)
out.list.2 <- mclapply(in.list, doSomething) # Takes tens of minutes
out.list.3 <- mclapply(in.list, doSomething, mc.cores=1) # Works well (< 1s)
out.list.4 <- mclapply(in.list, doSomething, mc.cores=2) # Takes tens of minutes
经过大量测试和“kill -9”后,我认为我已将问题隔离到“library(gsubfn)”。它会自动加载“加载所需的包:proto 加载所需的命名空间:tcltk 加载 Tcl/Tk 接口......完成”
我需要 gsubfn-package,所以不能排除它。有什么办法可以避免这个问题吗?
感谢所有为 R-tag 做出贡献的人!
/克里斯