2016-02-24 96 views
1

我將不勝感激一些幫助如下:龍R系統調用掛起

我只是在並行運行的獨立的應用程序的3個實例與R中的foreach。請參閱下面的模擬代碼:

require("foreach") 
require("doMC") 

registerDoMC(cores=3) 
foreach(sample=1:9) %dopar%{ 
     system2(command="app", args=c("some","args"), 
       stdout = NULL, stderr = NULL) 
} 

不管我是否使用systemsystem2,在任務管理器,我可以看到:

  1. rsession(父)
  2. 3X rsessions(來自的foreach)
  3. 3X應用(進程)

的問題是:父母使用了大量的CPU並一直耗用內存,直到掉入交換分區。這發生在任何appforeach中的任何數量的線程,並且本質上來說,來自R的任何系統調用,其運行時間超過一些可以忽略的時間,並且從不返回。

我的機器有Debian Jessie和R 3.2.3。

預先感謝您!

回答

0

好的,我發現是什麼導致了問題:RStudio。 rsession父母的事情可能會掃描文件更改並拖延到某個地方,直到該過程結束。從控制檯運行R不會顯示這樣的問題。