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 |
目前 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 莫失莫忘 <[hidden email]> 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 > > > > |
这个问题已经有相关的邮件讨论 [1] 和 jira issue [2] 了。目前应该是在方案细节上还没有完全讨论清楚。
Thank you~ Xintong Song [1] http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-FLIP-102-Add-More-Metrics-to-TaskManager-td37898.html [2] https://issues.apache.org/jira/browse/FLINK-14431 On Tue, Aug 25, 2020 at 11:45 AM ouywl <[hidden email]> wrote: > @Xintong Song > 我决定我们可以创建一个jira来跟踪下这个问题,调整metrics的值来对应taskmanager的内存模型,再而展示到flink > webUi,这样的话我可以更好的让用户调整参数。目前我们去看flink的tm的内存模型需要通过日志查看,然后根据表格去计算。我们可以做一个针对每块内存的使用情况和分配情况的图表到flink > webUI,从我们实践的过程中这是一个非常有用的功能。 > > Best, > Ouywl > > 在2020年08月25日 10:40,Xintong Song<[hidden email]> > <[hidden email]> 写道: > > 目前 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 莫失莫忘 <[hidden email]> 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 > > > > > |
Free forum by Nabble | Edit this page |