Local execution 模式下,Flink 是无法实际控制 JVM 的 Xmx, Xms, MaxDirectMemorySize
等参数的,这些参数取决于你的 IDE 设置。
检查一下 idea 的 run configuration 是否有配置过 -XX:MaxDirectMemorySize。

Thank you~

Xintong Song



On Sat, Jul 11, 2020 at 3:48 PM Congxian Qiu <[email protected]> wrote:

> Hi
>
> 这个问题可以看下是否和 releasenote[1] 中 memory configuration
> 相关的修改有关,具体到这个错误,你可以按照提示增加一些内存看看
>
> [1]
>
> https://flink.apache.org/news/2020/07/06/release-1.11.0.html#other-improvements
> Best,
> Congxian
>
>
> sunfulin <[email protected]> 于2020年7月10日周五 下午11:32写道:
>
> > hi,
> >
> >
> 我在使用1.11版本在本地idea起一个作业时,并发为1,抛出了如下关于内存的异常。。问题是之前从来没有显示配置过taskmanager的memory参数,这是为何?
> > 感觉由1.10升级到1.11问题还是挺多的。。我尝试增加了JVM参数,增加DirectMemory内存配置,还是没有作用,请教大神帮忙看下。
> >
> >
> > Exception in thread "main" java.lang.OutOfMemoryError: Could not allocate
> > enough memory segments for NetworkBufferPool (required (Mb): 64,
> allocated
> > (Mb): 63, missing (Mb): 1). Cause: Direct buffer memory. The direct
> > out-of-memory error has occurred. This can mean two things: either job(s)
> > require(s) a larger size of JVM direct memory or there is a direct memory
> > leak. The direct memory can be allocated by user code or some of its
> > dependencies. In this case 'taskmanager.memory.task.off-heap.size'
> > configuration option should be increased. Flink framework and its
> > dependencies also consume the direct memory, mostly for network
> > communication. The most of network memory is managed by Flink and should
> > not result in out-of-memory error. In certain special cases, in
> particular
> > for jobs with high parallelism, the framework may require more direct
> > memory which is not managed by Flink. In this case
> > 'taskmanager.memory.framework.off-heap.size' configuration option should
> be
> > increased. If the error persists then there is probably a direct memory
> > leak in user code or some of its dependencies which has to be
> investigated
> > and fixed. The task executor has to be shutdown...
>

回复