Hi
这是我之前看到一篇关于OOM KILL 的分析文章,不知道对你有没有用

http://www.whitewood.me/2021/01/02/%E8%AF%A6%E8%A7%A3-Flink-%E5%AE%B9%E5%99%A8%E5%8C%96%E7%8E%AF%E5%A2%83%E4%B8%8B%E7%9A%84-OOM-Killed/

On Thu, Feb 18, 2021 at 9:01 AM lian <lzp...@126.com> wrote:

> 各位大佬好:
>     1. 背景:使用Flink
> SQL实现回撤流的功能,使用了Last_Value,第二层聚合进行sum求和计算,主要是依靠回撤流的方式,来实现对已经下发的数据进行减法的操作。
>                   实现的功能和菜鸟如下基本是一致的。
>                   https://developer.aliyun.com/article/457392
>     2. 版本及调优:flink
> 1.10.1,资源单个slot从2-6g,借助了rocksdb的状态后端来存储状态值,对flink的managed memory进行了反复的调优,
>        调整过overhead内存,最小值设为1g,最大值设为2g
>        blockcache大小,由默认值8mb设置为128mb
>        block size大小,由默认值4kb设置为32kb
>        flush线程数,由默认值1设置为4
>        writebuffer,由默认值0.5调整为0.25
>        采用了batch size,两阶段聚合参数
>        增量checkpoint
>        预分配内存设置为false
>     3. 状态大小: ck在100mb - 25g浮动,savepoint达到了120g
>     4. 存在的问题:
>          1. 内存出现不足,container被kill掉
>          2. ck时,状态大的很大,小的很小,不知道这个是什么原因?
>     5. 看了很多关于内存oom被kill的文章,调整了overhead参数,增大tm的内存来扩大managed
> memory,调整rocksdb的参数等一系列的参数,目前都还是运行一段时间后出现container 被kill。
>     6. 个人预留的问题:flink 的rocksdb的mertic的参数有添加,但是个人不是很清楚,如何进行打印和监控,如果后续的flink
> 的ui界面能够加上对这一块的页面展示,那就会比较好了。
>         所以,对于到底是哪块内存超了,目前也还不是很清楚。
>
>
>    看看,有没有大佬能帮忙看一下,这个问题如何优化会比较好?
>    看了2020
> flink峰会,唐云大佬对于rocksdb做的相关工作的分享,提到先提高overhead内存可以先解决这个问题,但是我目前还没有解决掉。以及提到用户的使用不当,也会导致这个问题,不知我的场景,是否是不合理的。
>
>
>   盼复~~~
>
>
>
>
>

回复