flink 1.10 如何监控 Managed memory 使用量

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

flink 1.10 如何监控 Managed memory 使用量

莫失莫忘-2
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



Reply | Threaded
Open this post in threaded view
|

Re: flink 1.10 如何监控 Managed memory 使用量

Xintong Song
目前 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
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: flink 1.10 如何监控 Managed memory 使用量

Xintong Song
这个问题已经有相关的邮件讨论 [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
>
>
>
>
>