我需要在Intel i7(8核)上執行並行處理,並使用R2.15.0(來自RStudio)的Ubuntu 12.04(64bit)。我已經成功完成了幾個星期,但從昨天開始,任何並行R處理的嘗試都會減慢處理速度,因此它幾乎死亡。電腦本身就像以前一樣快速(網頁瀏覽等),但R只是等待和等待。我通常每天更新Ubuntu(更新管理器),但不確定這是否與此相關。mclapply但不是停止R
此代碼阻止我的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
大量的測試後,並「殺-9」,我想我已經分離問題到「庫(gsubfn)」。它會自動加載「加載所需的程序包:原 加載所需的命名空間:tcltk 加載的Tcl/Tk接口......做」
我需要gsubfn包,所以它是不排除的選項。可以做任何事情來避免這個問題?
感謝大家對R-tag的貢獻!
/克里斯
'mclapply'起源於'multicore'包。在過去(至少),'Rstudio'不支持'multicore' [見這裏](http://support.rstudio.org/help/discussions/questions/82-multicore-package-calls-within-rstudio) 。如果在Rstudio之外運行此腳本,會發生什麼? – mnel
RStudio之外也會出現此問題。 –