full GC 应该不是增大内存后才出现的,这一点可以确认一下 GC log。但是增大内存,可能会造成一次 full GC 花费的时间更长,从而导致
TM 心跳超时。
同样的,metaspace OOM 也可能是由于 GC 速度变慢造成的。JVM 有单独的线程负责 GC,通常是在
heap/direct/metaspace 这些区域用满之前达到某个阈值就开始 GC,如果 GC 速度慢于内存申请的速度,也有可能造成 OOM。
按照我们的经验,一个 TM 用 64G 也是比较大了,如果都是以 java heap 内存为主的话,那可能需要具体配一下 GC 策略。

Thank you~

Xintong Song



On Wed, Apr 29, 2020 at 12:27 PM 了不起的盖茨比 <573693...@qq.com> wrote:

> 除了 memory增加,其余配置还是使用默认的。就是不明白,为什么我内存增加了,反而会出现full
> gc情况,之后taskmanager失去心跳,然后继续提交job,出现metaspace溢出这个情况。
> 在使用默认配置内存时候反而是没有出现fullgc。想明白其中缘由。
>
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"Xintong Song"<tonysong...@gmail.com&gt;;
> 发送时间:&nbsp;2020年4月29日(星期三) 中午11:00
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: flink 内存设置问题-metaspace 溢出
>
>
>
> Metaspace OOM 通常是 JVM 加载的类过多导致的。TM 内存从 1568m 增大到 65536m,是否有增加 slot
> 的数量呢?这个有可能造成运行时加载的类变多,metaspace 大小不变的情况下也可能会触发 OOM。
> 目前社区已经收到许多反馈,关于 1.10.0 的默认 metaspace 大小可能不太合理,在 1.10.1 中会调大这个默认值。你这边也可以先把
> taskmanager.memory.metaspace.size 调到 256m 试一试。
>
> Thank you~
>
> Xintong Song
>
>
>
> On Tue, Apr 28, 2020 at 7:21 PM 出发 <573693...@qq.com&gt; wrote:
>
> &gt; 物理机内存:124G当进行如下设置时候
> &gt; taskmanager.memory.process.size: 65536m
> &gt;
> &gt; es5-connector sink数据
> &gt; 此时会出现频繁fullgc java.lang.OutOfMemoryError: Metaspace
> &gt;
> &gt;
> &gt;
> &gt; 当我设置
> &gt; taskmanager.memory.process.size: 1568m
> &gt; es5-connector sink数据
> &gt; 不会出现溢出问题
> &gt;
> &gt;
> &gt;
> 这个问题非常的困扰,实在不明白,我设置大内存之后,并没有影响到metaspace,而且当用系统默认内存时候竟然不出错,百思不得其解。望能够帮助理解下
> &gt; 上述操作重复试验很多次都是一样结果

回复