技术新讯 > 计算推算,计数设备的制造及其应用技术 > 虚拟机内存的处理方法、处理装置、设备、介质和程序产品与流程  >  正文

虚拟机内存的处理方法、处理装置、设备、介质和程序产品与流程

  • 国知局
  • 2024-09-05 15:04:35

本公开涉及数据处理,具体地涉及一种虚拟机内存的处理方法、处理装置、设备、介质和程序产品。

背景技术:

1、内存泄漏是指程序在虚拟机内存中运行时,动态分配的内存空间未能正确释放或回收的情况。当程序中存在内存泄漏时,分配给程序的内存空间会逐渐耗尽,导致系统性能下降、程序崩溃或意外终止。因此,内存泄漏是非常严重的系统问题,及时检测和修复内存泄漏问题对于保持程序的稳定性、性能和安全性至关重要。

2、在实现本公开构思的过程中发现现有的内存泄漏的检测方法需要的时间较长,而且可能存在遗漏的情况,从而降低了识别准确率。

技术实现思路

1、鉴于上述问题,本公开提供了一种虚拟机内存的处理方法、处理装置、设备、介质和程序产品。

2、根据本公开的第一个方面,提供了一种虚拟机内存的处理方法,包括:

3、在待测程序在虚拟机内存中运行的情况下,获取上述待测程序的进程参数;

4、基于上述进程参数从时间分配列表中确定与上述进程参数对应的全局回收时长阈值;

5、在每次上述待测程序的运行时间达到上述全局回收时长阈值的情况下,对上述虚拟机内存执行全局垃圾回收操作,以生成垃圾回收日志;

6、对预设时间段内的多个上述垃圾回收日志进行分析处理,得到分析结果,其中,上述分析结果表征上述虚拟机内存是否存在内存泄漏。

7、根据本公开的实施例,上述方法还包括:

8、在上述分析结果表征存在上述内存泄漏的情况下,获取每次上述全局垃圾回收操作之后所生成的进程内存镜像文件;

9、根据多个上述进程内存镜像文件确定上述待测程序中导致上述内存泄漏的目标程序。

10、根据本公开的实施例,上述待测程序包括多个测试子程序;

11、其中,根据多个上述进程内存镜像文件确定上述待测程序中导致上述内存泄漏的目标程序,包括:

12、针对每个上述进程内存镜像文件,从上述进程内存镜像文件中提取内存占用列表,其中,上述内存占用列表包括至少一个占用内存超过预设比例的虚拟机内存的测试子程序;

13、针对每个上述测试子程序,在预设数量的上述内存占用列表中均包括上述测试子程序的情况下,将上述测试子程序确定为上述目标程序。

14、根据本公开的实施例,上述待测程序包括多个测试子程序;

15、其中,根据多个上述进程内存镜像文件确定上述待测程序中导致上述内存泄漏的目标程序,包括:

16、针对每个上述进程内存镜像文件,从上述进程内存镜像文件中提取内存占用列表,其中,上述内存占用列表包括至少一个占用内存超过预设比例的虚拟机内存的测试子程序;

17、将与占用内存最大值对应的测试子程序确定为上述目标程序。

18、根据本公开的实施例,上述方法还包括:

19、将上述目标程序发送至客户端,以使得上述客户端对上述目标程序进行修改,得到新的待测程序;

20、利用上述虚拟机内存迭代地对上述新的待测程序进行上述全局垃圾回收操作,直至得到表征上述虚拟机内存不存在上述内存泄漏的心得分析结果。

21、根据本公开的实施例,上述虚拟机内存包括虚拟机的堆内存,上述堆内存包括第一内存管理区域;

22、其中,对预设时间段内的多个上述垃圾回收日志进行分析处理,得到分析结果,包括:

23、针对每个上述垃圾回收日志,根据上述垃圾回收日志确定上述第一内存管理区域的容量数值,其中,不同的容量数值按照时间顺序排列;

24、在时间顺序连续的多个上述容量数值逐渐增大的情况下,将上述分析结果确定为存在上述内存泄漏。

25、根据本公开的实施例,上述时间分配列表包括多个初始回收时长阈值,其中,一个上述初始回收时长阈值对应一类初始进程参数,上述全局回收时长阈值为与上述进程参数对应的上述初始回收时长阈值。

26、本公开的第二方面提供了一种虚拟机内存的处理装置,包括:

27、获取模块,用于在待测程序在虚拟机内存中运行的情况下,获取上述待测程序的进程参数;

28、确定模块,用于基于上述进程参数从时间分配列表中确定与上述进程参数对应的全局回收时长阈值;

29、回收模块,用于在每次上述待测程序的运行时间达到上述全局回收时长阈值的情况下,对上述虚拟机内存执行全局垃圾回收操作,以生成垃圾回收日志;

30、分析模块,用于对预设时间段内的多个上述垃圾回收日志进行分析处理,得到分析结果,其中,上述分析结果表征上述虚拟机内存是否存在内存泄漏。

31、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。

32、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。

33、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。

34、根据本公开的实施例,通过在时间分配表中确定不同类型的进程参数的待测程序的所对应的全局回收时长阈值,从而实现在预设时间段内进行多次全局回收操作,从而对多个垃圾回收日志进行分析以确定是否存在内存泄漏。由于在时间分配列表中为每种类型的进程参数分配了不同的全局回收时长阈值,由此使得能够在预设时间段内准确地判断是否存在内存泄漏,从而提高了内存泄漏的识别效率和准确率,并降低了测试所需要的时间成本。

技术特征:

1.一种虚拟机内存的处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述待测程序包括多个测试子程序;

4.根据权利要求2所述的方法,其特征在于,所述待测程序包括多个测试子程序;

5.根据权利要求2~4中任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述虚拟机内存包括虚拟机的堆内存,所述堆内存包括第一内存管理区域;

7.根据权利要求1所述的方法,其特征在于,所述时间分配列表包括多个初始回收时长阈值,其中,一个所述初始回收时长阈值对应一类初始进程参数,所述全局回收时长阈值为与所述进程参数对应的所述初始回收时长阈值。

8.一种虚拟机内存的处理装置,其特征在于,所述装置包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。

11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。

技术总结本公开提供了一种虚拟机内存的处理方法、处理装置、设备、介质和程序产品,可以应用于金融和数据处理技术领域。该方法包括:在待测程序在虚拟机内存中运行的情况下,获取待测程序的进程参数;基于进程参数从时间分配列表中确定与进程参数对应的全局回收时长阈值;在每次待测程序的运行时间达到全局回收时长阈值的情况下,对虚拟机内存执行全局垃圾回收操作,以生成垃圾回收日志;对预设时间段内的多个垃圾回收日志进行分析处理,得到分析结果,其中,分析结果表征虚拟机内存是否存在内存泄漏。技术研发人员:余永彬,付磊受保护的技术使用者:中国建设银行股份有限公司技术研发日:技术公布日:2024/9/2

本文地址:https://www.jishuxx.com/zhuanli/20240905/289396.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。