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, 张江 <[email protected]> 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有可能是什么原因? > > > 谢谢大家 > > > | | > 张江 > | > | > 邮箱:[email protected] > | > > 签名由 网易邮箱大师 定制
