如何控制使用的线程/核心数?

时间:2014-09-28 16:52:56

标签: apache-spark

我在本地机器上运行Spark,有8个内核,我知道我可以使用“local [num_threads]”作为主机,并使用括号中的“num_threads”来指定Spark使用的线程数

然而,似乎Spark经常使用比我要求的更多的线程。例如,如果我只为Spark指定1个线程,通过在Linux上使用top命令,我仍然可以观察到cpu使用率通常超过100%甚至200%,这意味着Spark实际使用了1个以上的线程

如果我需要同时运行多个程序,这可能是个问题。如何控制Spark严格使用的线程/内核数量?

1 个答案:

答案 0 :(得分:0)

Spark为其调度程序使用一个线程,这解释了您看到的使用模式。如果并行启动n个线程,则会使用n+1个核心。

有关详细信息,请参阅scheduling doc