1
我在本地機器上運行的火花,用8個芯,我明白,我可以使用「本地[NUM_THREADS]」作爲主,並使用「NUM_THREADS」在支架來指定由火花使用的線程的數目。如何控制使用的線程/內核的數量?
然而,似乎星火經常使用比我需要更多的線程。例如,如果我只爲Spark指定一個線程,那麼通過在Linux上使用top命令,我仍然可以觀察到cpu使用率通常超過100%甚至200%,這意味着Spark實際使用了超過1個線程。
這可能是一個問題,如果我需要同時運行多個程序。我如何控制Spark嚴格使用的線程/內核數量?
這不是線程的數量。這是Spark將執行的併發任務的數量(任務是RDD上某個操作的一部分)。 Spark使用其他幾個線程來處理不同的事情,例如處理通信和爲驅動程序的UI提供服務。 – vanza 2014-09-29 02:06:44
感謝您的回覆!那麼是否有辦法控制Spark使用的內核/處理器的數量? – SciPioneer 2014-09-29 02:26:28
不符合你想要的樣子。您可以控制併發任務的數量,但就是這樣。如果你想要更多,你將不得不使用一些操作系統級別的控制,比如Linux cgroups。 – vanza 2014-09-29 02:28:59