首页 > 系统相关 >Doris FE内存占用持续上升直至无法使用

Doris FE内存占用持续上升直至无法使用

时间:2024-10-12 15:18:45浏览次数:8  
标签:300 catalog FE 解决 Doris 内存

环境

操作系统:CentOS Linux release 7.6.1810 (Core)

Doris版本:doris-2.1.5-bin-x64

Java版本:jdk1.8.0_181

3台机器组成的集群

所在场景

做大数据项目时使用Doris的catalog将来自不同主机的多个MySQL库相同的表数据汇总到另一个主机的MySQL库,就注册了多个catalog用于连接不同的mysql主机及数据库

由于需要每隔10秒做一个开窗操作计算物联网设备的亮灯及不同颜色的灯的持续时间等功能,刚好有Doris环境且适合做这块业务,就用SpringBoot+Doris实现了业务逻辑。

表现

跑了大概过2天就会出现Doris连接超时不可用的情况,重启FE就可以了。默认分配给FE  master的内存是8G,观察发现FE重启后大概每1小时会使得内存占用多100M,慢慢的就将内存耗尽导致Doris FE无法链接了。

 尝试解决

根据网上的建议将SQL连接的超时时间改为300秒(set global wait_timeout = 300)也无法解决此问题

又根据《如何快速定位线上Doris FE内存使用过高问题》推荐的方法去排查依然无法解决。

通过百度网盘分享的文件:如何快速定位线上Doris FE内存使用过高问题.pdf
链接:https://pan.baidu.com/s/1VQonTFi9YGLicGRdEuFwkQ?pwd=4uae 
提取码:4uae

最后解决

然后找Doris官方文档,发现频繁refresh catalog xxx 会强制使对象相关的Cache失效,默认开启的采样也比较耗费资源,然后就将代码中refresh catalog全部注释掉,在fe.conf中添加

wait_timeout = 300
set global enable_auto_analyze = false

重启FE后观察了一下午,内存持续增长的问题没有再出现了。

此解决方案应该不能通用的解决所有FE使用内存持续上升的问题,仅将我自己遇到解决的方式记录下来,不保证能解决你的问题,如果刚好也能解决那时最好。如果还有其他原因并能解决,欢迎留下评论,先谢谢了

标签:300,catalog,FE,解决,Doris,内存
From: https://blog.csdn.net/k7gxn56/article/details/142878062

相关文章

  • linux中的进程内存布局
    虚拟内存在我们编写程序的时候,我们使用的是虚拟内存布局,它是建立在真实的物理内存之上,虚拟内存一般是比物理内存要大,并且每个进程都享有独立的虚拟内存所以我们要明白我们在程序中使用的是虚拟内存,虚拟内存经过一些内存映射,才能被映射到真实的物理内存局部性空间局部性(Spatia......
  • Mybatis-Flex的增、删、改、查以及swagger (knife4J)的使用
    现代Java开发中,Mybatis-Flex是一个功能强大的Java持久层框架,使数据库操作高效灵活,而Swagger(Knife4J)则改善了API文档化与测试体验,两者结合能提高效率、增强协作、保证代码质量。本文将详细描述Mybatis-Flex增、删、改、查操作及与Swagger(Knife4J)协同使用,以下均已C......
  • 【AIGC产品经理】面试7家,拿到2个offer,薪资中上水平
    Hello,大家好,我是一名不知名的5年B端金融产品经验的产品经理,成功转行AI产品经理,前期面试了北京百度、阿里、理想汽车、百川智能、华为、OPPO等多家大厂面试,但是由于已定居成都,主动终止了后续需要线下的面试流程。最终,入职一家成都人工智能科技公司,做AI产品经理,薪资在当地算......
  • Java 内存的使用流程与机制
    Java的内存结构(MemoryStructure)是Java虚拟机(JVM)在运行时管理内存的方式,它直接关系到Java程序的性能和运行的稳定性。Java的内存结构可以总结为以下几个关键部分:堆内存:存储对象和数组,是垃圾回收的主要目标。栈内存:存储局部变量、方法调用栈帧,线程私有。方法区:存储类......
  • POLIR-Society-Organization-Psychology-Attitude-Life: $\large \bm{Attitude} :
    POLIR-Society-Organization-Life:对待社会生活环境的正确态度Question:我认为对待社会生活环境的正确态度是:ImplywhenfacingNon-BeneficialorNeutralSocialEnvironment:*生活环境如何,都要努力奋斗,无愧一生*尽量利用生活环境的有利因素发展自己*遇到不良社......
  • 使用C#获取系统关键信息:CPU、内存、硬盘、用户与网络状态
    在C#中,获取系统信息如CPU、内存、硬盘、用户以及网络状态等,可以通过多种方式实现,包括使用System.Management命名空间中的类来查询WMI(WindowsManagementInstrumentation)信息,或者使用.NETFramework自带的类库。以下是一些基本示例来展示如何获取这些信息。1.引入必要的命......
  • C# unsafe 快速复制数组
    ///<summary>///复制内存///</summary>///<paramname="dest">目标指针位置</param>///<paramname="src">源指针位置</param>///<paramname="count">字节长度</param>......
  • tensorflow案例1--天气识别,包含(Tensorflow的检查是否GPU、图像数据加载与划分、拿取
    ......
  • [USACO23FEB] Hungry Cow P 题解
    T7[USACO23FEB]HungryCowP这题就比较正常了,蓝紫之间的水平。我们发现Bessie能活\(10^{14}\)天(,导致我们不好直接按照值域来维护。发现给某一天送干草,影响到的是后面很多天,这是个区间问题。所以考虑动态开点线段树。线段树的每个节点维护\(\mathit{ans},\mathit{cnt},\ma......
  • 动态内存管理(c语言)
    这里写目录标题1.为什么有动态内存分配2.malloc函数和free函数3.calloc和realloc1.为什么有动态内存分配在讲动态内存的优势之前,先聊聊其他内存开辟方法的不足之处。上图内存开辟方法的特点为:1.空间开辟的大小是固定的。2.数组在声明的时候需要指定长度,数组空间......