2016-09-13 78 views
0

我運行一個應用程序的Spark,我總是得到一個內存溢出異常..無法創建星火應用新的本地線程

Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread 

我下運行我的程序的本地[5]在一個節點的集羣但它仍然給我這個錯誤..有人指出我如何糾正,在我的火花應用程序..

+1

你有沒有試過運行不同的應用程序,仍然是相同的?需要更多的細節.. –

+0

它很難說出了什麼問題,你在你的代碼中做什麼? –

回答

2

看起來像ulimit配置在您的機器上的問題。運行ulimit -a命令,你會看到下面的結果。

core file size   (blocks, -c) 0 
data seg size   (kbytes, -d) unlimited 
scheduling priority    (-e) 0 
file size    (blocks, -f) unlimited 
pending signals     (-i) 63604 
max locked memory  (kbytes, -l) 64 
max memory size   (kbytes, -m) unlimited 
open files      (-n) 10240 
pipe size   (512 bytes, -p) 8 
POSIX message queues  (bytes, -q) 819200 
real-time priority    (-r) 0 
stack size    (kbytes, -s) 8192 
cpu time    (seconds, -t) unlimited 
max user processes    (-u) 63604 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 

檢查open filesmax user processes配置的值。它應該很高。

您可以使用下面的命令進行配置:

ulimit -n 10240 
ulimit -u 63604 

一旦你與ulimits的配置來完成。您可以啓動應用程序以查看效果。

相關問題