了解状态



我有一个不断崩溃的flink工作。我在这篇文章中提出了有关调试的问题。

通过增加任务经理的内存来解决该问题。然后,我检查了此崩溃发生时所有容器的内存使用情况相关的指标,我看到其中2个确实具有Status.JVM.Memory.Direct.MemoryUsed的异常值。我有一个图表:jvm.memory.direct.memory_used.png

来自Flink官方文档,它说The biggest driver of Direct memory is by far the number of Flink’s network buffers, which can be configured.但是,从任务日志中,我没有看到与not enough network buffer有关的任何内容。为了防止将来发生这种情况,我想详细了解这部分内存在Flink中的作用以及图像中这两个离群值可能会发生什么。谢谢。

首先,当它是outofmemoryerror时,我也需要戒烟的行为而无需记录问题。

第二,我在直接内存问题上的经验是,它由于网络缓冲区而没有用完,而是因为我使用的代码来编译了C代码(在我的情况下为FastText(,该代码正在分配直接内存...您确定您没有类似情况吗?问问,因为通常会flink对不超越内存是好的 - 通常您会遇到"网络缓冲区不足的内存"。

相关内容

  • 没有找到相关文章

最新更新