Hi 张江:
1. 你提到的三个Metric(Direct_MemoryUsed, NonHeap_Used, Heap_Used)是从MXBean获取到的,可以了解下java.lang.management包的作用,Flink这部分Metric源码好像在MerticUtils类里;
2. 从你的描述获取不到太多可定位OOM的信息,若非state算子则先关注下自己代码本身是否有内存泄漏的情况吧;
3. 可以在flink-conf.yml里配置个JMX监控,用VisualVM实时观察下Job Task运行情况;也可以通过配置`env.java.opts`来添加诸如`-XX:+HeapDumpOnOutOfMemoryError`等相关参数来获取heap dump以备后续问题排查;
> On Jan 17, 2020, at 10:10, 张江 <
[hidden email]> wrote:
>
> 大家好,
>
>
> 我正在做flink算子的性能测试,发现了以下问题。
> flink加大数据量后运行时报OOM错误,但metrics中flink_taksmanager_Status_JVM_Memory_Direct_MemoryUsed,flink_taksmanager_Status_JVM_Memory_NonHeap_Used,flink_taksmanager_Status_JVM_Memory_Heap_Used一直没有波动(没有使用checkpoint,也没有网络方面的内存需求)。
> 想请问大家flink中这三个参数对应的内存具体是用来做什么的,OOM有可能是什么原因?
>
>
> 谢谢大家
>
>
> | |
> 张江
> |
> |
> 邮箱:
[hidden email]
> |
>
> 签名由 网易邮箱大师 定制