我非常感谢以下方面的一些帮助:
我只是在foreach中并行运行来自R的独立应用程序的3个实例。请参阅下面的模拟代码:
require("foreach")
require("doMC")
registerDoMC(cores=3)
foreach(sample=1:9) %dopar%{
system2(command="app", args=c("some","args"),
stdout = NULL, stderr = NULL)
}
无论我是否在任务管理器中使用system
,system2
,我都可以看到:
问题是:父使用大量CPU并继续消耗RAM,直到我陷入交换。这种情况发生在任何app
,foreach
中的任意数量的线程中,实质上是来自R的任何系统调用,其运行时间超过一些可忽略的时间,并且永远不会返回。
我的机器有Debian Jessie和R 3.2.3。
提前谢谢!
答案 0 :(得分:0)
好的,我找到了导致问题的原因:RStudio。 rsession
父项可能正在扫描文件更改并在某处停止,直到该过程完成。从控制台运行R显示没有这样的问题。