2016-09-13 76 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的配置来完成。您可以启动应用程序以查看效果。

相关问题