Long R系统调用挂起

时间:2016-02-24 16:22:56

标签: r

我非常感谢以下方面的一些帮助:

我只是在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) 
}

无论我是否在任务管理器中使用systemsystem2,我都可以看到:

  1. rsession(parent)
  2. 3x rsessions(来自foreach)
  3. 3x app(流程)
  4. 问题是:使用大量CPU并继续消耗RAM,直到我陷入交换。这种情况发生在任何appforeach中的任意数量的线程中,实质上是来自R的任何系统调用,其运行时间超过一些可忽略的时间,并且永远不会返回。

    我的机器有Debian Jessie和R 3.2.3。

    提前谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我找到了导致问题的原因:RStudio。 rsession父项可能正在扫描文件更改并在某处停止,直到该过程完成。从控制台运行R显示没有这样的问题。