当前使用版本:Doris 2.0.3
BE节点内存配置:64G
存在问题:
当前集群随着使用时间增长,BE节点的常驻内存越来越大,由之前常驻均值10G到当前的常驻均值30G,这就导致查询落到BE节点可使用内存变少,查询显示节点内存超限的频率越来越高。
排查思路:
1、查看BE节点mem_tracker相关信息,发现Type为global占用内存较多
2、查看mem_tracker?type=global相关信息,发现label为Orphan占用内存较多,说明当前有大量内存没有准确统计
3、查看BE节点日志,除了常规的query\load相关的日志外,主要就是大量的vertical compaction、cumulative compaction以及segment和old version 删除操作,怀疑是部分实时表开启部分列更新导致的资源占用
问题:
1、BE节点mem_tracker页面上,为什么Type=query的Current Consumption(Normalize)为负值?
2、BE节点label为Orphan占用内存的部分,除了重启BE,如何设置相关参数主动周期性的释放占用内存?
3、关于表的部分列更新长时间占用内存、CPU的问题,有没有相关参数可以对部分列更新使用的资源上线做个约束?主动释放BE内存,对正在执行的部分列更新的表有何影响?