目前 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 > > > >