目前 flink webui 上 taskmanager metrics 的展示是有问题的,metrics 无法很好地对应到 taskmanager
内存模型中的各个部分。关于这一问题,社区也在讨论接下来的优化方案,可以参考一下 FLIP-112。

关于 managed memory,如你所说,是不在上述的 metrics 中的。

监控 managed memory 的用量其实不是很有必要:

   - 对于批处理,不管配置了多少 managed memory 都会被用掉。算子会根据 managed memory
   的大小决定申请多大的缓存,不会有内存浪费不用的情况。
   - 对于流处理,
      - 使用 rocksdb state backend 时,
         - rocksdb 默认也是根据 managed memory 的大小决定申请多大的缓存。
         - 此外,为了兼容此前版本的行为,rocksdb 也支持不根据 managed memory 决定内存大小。这种情况下,可以监控
         rocksdb 本身的 metrics 判断内存用量
      - 使用其他 state backend 的时候,不会用到 managed memory,应该配置为 0.


Thank you~

Xintong Song



On Mon, Aug 24, 2020 at 5:53 PM 莫失莫忘 <xiaoxiong....@qq.com> wrote:

> flink 1.10 作业,监控内存的四个metric,Heap、NonHeap、Direct 和 Mapped,Managed
> memory的使用量在这四个中吗?如果在,是哪个?  如果不在,如何监控Managed memory 的使用量呢?
> ps:
>     看官方文档 Managed memory 不在上述四个中的任何一个
>     我自己做的任务监控,感觉 Managed memory也不在上诉四个中的一个
>
>
> 现在遇到的问题是: flink 内存监控,使用 sum =Heap+NonHeap+Direct+Mapped 作为已用内存,已用内存 占比
> 最大内存 很小时,提高内存作业吞吐量大幅上升。怀疑 该 sum 不包括 Managed memory。
>
> 内存使用如图所示: taskmanager.memory.process.size=8192mb
>
>
>
>

回复