System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 微服务的内存泄漏监测方法、系统、装置及存储介质制造方法及图纸_技高网

微服务的内存泄漏监测方法、系统、装置及存储介质制造方法及图纸

技术编号:40287137 阅读:7 留言:0更新日期:2024-02-07 20:39
本发明专利技术公开了一种微服务的内存泄漏监测方法、系统、装置及存储介质。该方法包括:开启微服务的内存泄漏监测程序,加载第一跟踪点探针和第二跟踪点探针;第一跟踪点探针和第二跟踪点探针通过eBPF程序设定;将第一跟踪点探针和第二跟踪点探针通过map机制处理,得到事件列表;事件列表用于存储进程号、内存分配和内存释放事件;根据待测微服务的第一进程号,从事件列表中检索第一进程号对应的释放内存增长数据;获取待测微服务的内存增长数据,并根据内存增长数据与释放内存增长数据的差值,确定待测微服务是否存在内存泄漏。本申请实施例有利于提升集群的资源使用率,提升系统的安全性能;可以广泛应用于云计算技术领域。

【技术实现步骤摘要】

本专利技术涉及云计算,尤其是一种微服务的内存泄漏监测方法、系统、装置及存储介质


技术介绍

1、k8s环境下可以运行成千上万个微服务,微服务的性能监控变得尤为重要。k8s能够根据使用情况对微服务内存进行限制,提高集群的安全性,但随着微服务内存使用情况变得更加复杂和模糊,如微服务出现内存泄漏时,表现为微服务的内存使用到达上限,运维人员很难通过监控图形判断是由于业务内存使用增加造成还是由于内存泄漏造成。针对这种情况,相关技术中的常规处理方式是增加微服务的内存使用上限。该操作会造成集群的资源使用变高,运维人员忽视了微服务出现内存泄漏的安全问题,而一旦内存泄漏发生,直接影响服务的稳定性。


技术实现思路

1、本专利技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。

2、为此,本专利技术的目的在于提供一种稳定、高效的微服务的内存泄漏监测方法、系统、装置及存储介质。

3、为了达到上述技术目的,本专利技术实施例所采取的技术方案包括:

4、一方面,本专利技术实施例提供了一种微服务的内存泄漏监测方法,包括以下步骤:

5、本专利技术实施例的微服务的内存泄漏监测方法,该方法包括:开启微服务的内存泄漏监测程序,加载第一跟踪点探针和第二跟踪点探针;所述第一跟踪点探针和所述第二跟踪点探针用于共同探测进程级别内存分配和内存释放事件;所述第一跟踪点探针和第二跟踪点探针通过ebpf程序设定;将所述第一跟踪点探针和第二跟踪点探针通过map机制处理,得到事件列表;所述事件列表用于存储进程号、内存分配和内存释放事件;根据待测微服务的第一进程号,从所述事件列表中检索所述第一进程号对应的释放内存增长数据;获取所述待测微服务的内存增长数据,并根据所述内存增长数据与所述释放内存增长数据的差值,确定所述待测微服务是否存在内存泄漏。本申请实施例通过第一跟踪点探针和第二跟踪点探针记录进程级别内存释放事件,提升数据的准确度;通过释放内存增长数据对微服务进行泄漏监测,及时发现微服务的内存泄漏事件,提升安全性能,提升资源使用率。因此,本申请实施例有利于提升集群的资源使用率,提升系统的安全性能。

6、另外,根据本专利技术上述实施例的微服务的内存泄漏监测方法,还可以具有以下附加的技术特征:

7、进一步地,本专利技术实施例的微服务的内存泄漏监测方法,所述方法还包括:

8、若所述待测微服务存在内存泄漏,通过线性回归算法,预测所述待测微服务在第一预设时长后的内存量;

9、若所述内存量大于第一阈值,发出严重告警信息;

10、或者,若所述内存量小于或等于所述第一阈值,发出一般告警信息;所述严重告警信息的告警紧急程度大于所述一般告警信息的告警紧急程度。

11、进一步地,在本专利技术的一个实施例中,所述方法还包括:

12、获取累计时长;

13、若所述累计时长等于第二预设时长,返回根据待测微服务的第一进程号,从所述事件列表中检索所述第一进程号对应的释放内存增长数据这一步骤,并清零所述累计时长;所述累计时长用于表征距离上次检索释放内存增长数据的时长。

14、进一步地,在本专利技术的一个实施例中,所述方法还包括以下步骤:

15、构建微服务的内存泄漏架构;所述架构包括内核层和对象层;

16、其中,所述内核层用于根据ebpf程序设定所述第一跟踪点探针和第二跟踪点探针,建立事件列表;

17、所述对象层用于通过client-go库根据待测微服务的第一进程号,从所述事件列表中检索所述第一进程号对应的释放内存增长数据;并根据所述释放内存增长数据对所述待测微服务进行内存泄漏监测。

18、进一步地,在本专利技术的一个实施例中,所述方法还包括:

19、获取用户自定义的输出端口,通过prometheus库,暴露所述输出端口;

20、通过所述输出端口,将所述严重告警信息或所述一般告警信息上报至服务器。

21、进一步地,在本专利技术的一个实施例中,所述方法还包括:

22、所述内核层还用于编译所述内存泄漏监测程序对应的bpf字节码,在内核运行所述内存泄漏监测程序。

23、进一步地,在本专利技术的一个实施例中,所述方法还包括:

24、获取待测微服务的内存使用量;

25、若所述内存使用量大于内存使用阈值,触发所述微服务的内存泄漏监测程序。

26、另一方面,本专利技术实施例提出了一种微服务的内存泄漏监测系统,包括:

27、第一模块,用于开启微服务的内存泄漏监测程序,加载第一跟踪点探针和第二跟踪点探针;所述第一跟踪点探针和所述第二跟踪点探针用于共同探测进程级别内存分配和内存释放事件;所述第一跟踪点探针和第二跟踪点探针通过ebpf程序设定;

28、第二模块,用于将所述第一跟踪点探针和第二跟踪点探针通过map机制处理,得到事件列表;所述事件列表用于存储进程号、内存分配和内存释放事件;

29、第三模块,用于根据待测微服务的第一进程号,从所述事件列表中检索所述第一进程号对应的释放内存增长数据;

30、第四模块,用于获取所述待测微服务的内存增长数据,并根据所述内存增长数据与所述释放内存增长数据的差值,确定所述待测微服务是否存在内存泄漏。

31、另一方面,本专利技术实施例提供了一种微服务的内存泄漏监测装置,包括:

32、至少一个处理器;

33、至少一个存储器,用于存储至少一个程序;

34、当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的微服务的内存泄漏监测方法。

35、另一方面,本专利技术实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的微服务的内存泄漏监测方法。

36、本专利技术实施例提供的微服务的内存泄漏监测方法,包括步骤:开启微服务的内存泄漏监测程序,加载第一跟踪点探针和第二跟踪点探针;所述第一跟踪点探针和所述第二跟踪点探针用于共同探测进程级别内存分配和内存释放事件;所述第一跟踪点探针和第二跟踪点探针通过ebpf程序设定;将所述第一跟踪点探针和第二跟踪点探针通过map机制处理,得到事件列表;所述事件列表用于存储进程号、内存分配和内存释放事件;根据待测微服务的第一进程号,从所述事件列表中检索所述第一进程号对应的释放内存增长数据;获取所述待测微服务的内存增长数据,并根据所述内存增长数据与所述释放内存增长数据的差值,确定所述待测微服务是否存在内存泄漏。本申请实施例通过第一跟踪点探针和第二跟踪点探针记录进程级别内存释放事件,提升数据的准确度;通过释放内存增长数据对微服务进行泄漏监测,及时发现微服务的内存泄漏事件,提升安全性能,提升资源使用率。因此,本申请实施例有利于提升集群的资源使用率,提升系统的安全性能。

本文档来自技高网...

【技术保护点】

1.一种微服务的内存泄漏监测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括以下步骤:

5.根据权利要求2所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

6.根据权利要求4所述的微服务的内存泄漏监测方法,其特征在于,

7.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

8.一种微服务的内存泄漏监测系统,其特征在于,包括:

9.一种微服务的内存泄漏监测装置,其特征在于,包括:

10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于实现如权利要求1至7中任一项所述的微服务的内存泄漏监测方法。

【技术特征摘要】

1.一种微服务的内存泄漏监测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括以下步骤:

5.根据权利要求2所述的微服务的内存泄漏监测方法,其特征在于,所述方法还包括:

6.根据权利...

【专利技术属性】
技术研发人员:黄于权李佰典高保庆陈媛
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1