Я пробовал обновление до Apache Spark 1.6.0 RC3. Мое приложение теперь рассылает эти ошибки почти для каждой задачи:
Managed memory leak detected; size = 15735058 bytes, TID = 830
Я установил уровень ведения журнала для org.apache.spark.memory.TaskMemoryManager
в DEBUG
и посмотрел в журналах:
I2015-12-18 16:54:41,125 TaskSetManager: Starting task 0.0 in stage 7.0 (TID 6, localhost, partition 0,NODE_LOCAL, 3026 bytes)
I2015-12-18 16:54:41,125 Executor: Running task 0.0 in stage 7.0 (TID 6)
I2015-12-18 16:54:41,130 ShuffleBlockFetcherIterator: Getting 1 non-empty blocks out of 1 blocks
I2015-12-18 16:54:41,130 ShuffleBlockFetcherIterator: Started 0 remote fetches in 0 ms
D2015-12-18 16:54:41,188 TaskMemoryManager: Task 6 acquire 5.0 MB for null
I2015-12-18 16:54:41,199 ShuffleBlockFetcherIterator: Getting 1 non-empty blocks out of 1 blocks
I2015-12-18 16:54:41,199 ShuffleBlockFetcherIterator: Started 0 remote fetches in 0 ms
D2015-12-18 16:54:41,262 TaskMemoryManager: Task 6 acquire 5.0 MB for null
D2015-12-18 16:54:41,397 TaskMemoryManager: Task 6 release 5.0 MB from null
E2015-12-18 16:54:41,398 Executor: Managed memory leak detected; size = 5245464 bytes, TID = 6
Как вы отлаживаете эти ошибки? Есть ли способ регистрировать трассировки стека для распределения и освобождения, поэтому я могу найти утечки?
Я не знаю много нового диспетчера единой памяти (SPARK-10000). Является ли утечка вероятной моей ошибкой или это скорее ошибка искры?