Spark 1.6.1:使用Mesos的内存泄漏消息

时间:2016-09-20 20:05:25

标签: apache-spark

我有一个调用UDF的数据框,如下所示:

val myUDF = udf ((x:Int) => {
  val t = new Array[Integer](4)
  .. processing .. 
  })

作为列操作的一部分,此UDF被称为2000万次。当我使用Mesos framework {/ 1}}执行程序内存运行上述函数作为(v 0.28) 8G的一部分时,我收到以下内存泄漏消息:

11/08/12 11:18:13 ERROR Executor: Managed memory leak detected; size = 67371008 bytes, TID = 10
11/08/12 11:18:13 WARN TaskMemoryManager: leak 64.3 MB memory from org.apache.spark.unsafe.map.BytesToBytesMap@7b56b8b7

如果数组被实例化了2000万次,那么我的内存需求(对于这个特定的UDF)不超过20*128 MB,即2.6GB。失败总是因64.3 MB泄漏而失败,这让我觉得这是在某处执行的。

我如何解决这个问题?我已经尝试过Spark版本1.6.0,1.6.1,1.6.2

0 个答案:

没有答案