掌桥专利:专业的专利平台
掌桥专利
首页

内存泄漏处理方法、电子设备及计算机可读存储介质

文献发布时间:2024-01-17 01:27:33


内存泄漏处理方法、电子设备及计算机可读存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种内存泄漏处理方法、电子设备及计算机可读存储介质。

背景技术

内存泄漏是指动态存储分配函数动态开辟的空间,在使用完毕之后未能释放,导致一直占据该内存。内存泄漏问题难以发现,危害很大,可能导致系统可使用内存不断减少,最终引起系统崩溃。

目前内存泄漏都需要人工定期手动抽检、统计、分析,如果发现问题,还需要通知相应的开发人员去解决,整个过程都需要人工参与和沟通。这种方式处理需要大量人工对内存泄漏故障进行处理导致处理效率低。

发明内容

本申请的主要目的在于提供一种内存泄漏处理方法、电子设备及计算机可读存储介质,可以解决相关技术在发生内泄漏故障时,需要大量人工对内存泄漏故障进行处理导致处理效率低的问题。

第一方面,本申请提供一种内存泄漏处理方法,应用于电子设备,所述电子设备安装Open Harmony系统,所述方法包括:

调用所述Open Harmony系统中的系统信息获取工具,获取所述Open Harmony系统的多个进程对应的内存信息;基于数据可视化工具对每个所述进程对应的所述内存信息进行数据可视化处理,获得每个所述进程对应的可视化图表;将每个所述进程对应的所述可视化图表和所述内存信息上传至服务器,以供所述服务器根据所述可视化图表和所述内存信息进行内存泄漏定位,获得内存泄漏定位结果。

在一些实施例中,所述可视化图表包括内存曲线图表,所述Open Harmony系统包括多个进程;所述基于数据可视化工具对每个所述进程对应的所述内存信息进行数据可视化处理,获得每个所述进程对应的可视化图,包括:

依次将所述Open Harmony系统中的每个进程确定为当前进程;对所述内存信息进行信息提取,获得所述当前进程对应的多个内存使用数据以及每个所述内存使用数据对应的获取时间;基于所述数据可视化工具,对多个所述内存使用数据以及每个所述内存使用数据对应的获取时间进行可视化处理,生成所述当前进程对应的内存曲线图表。

在一些实施例中,所述方法还包括:

将全部所述进程对应的内存曲线图表进行合并处理,获得总内存曲线图表。

在一些实施例中,所述可视化图表包括拟合图表;所述基于数据可视化工具对每个所述进程对应的所述内存信息进行数据可视化处理,获得每个所述进程对应的可视化图,包括:

依次将所述Open Harmony系统中的每个进程确定为当前进程;对所述内存信息进行信息提取,获得所述当前进程对应的多个内存使用数据以及每个所述内存使用数据对应的获取时间;根据所述当前进程对应的多个内存使用数据以及每个所述内存使用数据对应的获取时间,生成所述当前进程对应的多个二元数据组;对多个所述二元数据组进行拟合处理,获得所述当前进程对应的拟合直线表达式;基于所述数据可视化工具,对多个所述二元数据组以及所述拟合直线表达式进行可视化处理,获得所述当前进程对应的拟合图表。

在一些实施例中,所述方法还包括:

基于所述拟合直线表达式,确定所述拟合直线表达式对应的斜率;若所述斜率大于预设斜率,则确定所述拟合直线表达式对应的进程发生内存泄漏故障。

在一些实施例中,所述确定所述拟合直线表达式对应的进程发生内存泄漏故障之后,所述方法还包括:

将所述拟合直线表达式对应的进程标记为故障进程,并将所述故障进程对应的所述内存使用数据以及所述内存使用数据对应的获取时间上传至所述服务器。

在一些实施例中,所述将每个所述进程对应的所述可视化图表和所述内存信息上传至服务器,以供所述服务器根据所述可视化图表和所述内存信息进行内存泄漏定位,获得内存泄漏定位结果,包括:

获取所述服务器所需的目标数据格式;基于所述目标数据格式,将每个所述进程对应的所述可视化图表和所述内存信息进行封装数据处理,获得每个所述进程对应的封装数据;通过所述服务器提供的接口,将所述封装数据上传至服务器以供所述服务器根据所述可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

第二方面,本申请还提供一种电子设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的内存泄漏处理方法的步骤。

第三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的内存泄漏处理方法的步骤。

本申请提供一种内存泄漏处理方法、电子设备及计算机可读存储介质。该方法包括:调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息;基于数据可视化工具对每个进程对应的内存信息进行数据可视化处理,获得每个进程对应的可视化图表;将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。本申请通过获取内存信息,对内存信息进行分析并生成可视化图表,再上传至服务器进行处理,减少人工对内存泄漏故障分析的工作量,提高了对内存故障处理的效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种内存泄漏处理方法的步骤流程示意图;

图2是本申请实施例提供的另一种内存泄漏处理方法的步骤流程示意图;

图3是本申请实施例提供的内存曲线图表的示意图;

图4是本申请实施例提供的另一种内存泄漏处理方法的步骤流程示意图;

图5是本申请实施例提供的拟合图表的示意图;

图6是本申请实施例提供的另一种内存泄漏处理方法的步骤流程示意图;

图7是本申请实施例提供的另一种内存泄漏处理方法的步骤流程示意图;

图8是本申请实施例提供的另一种内存泄漏处理方法的步骤流程示意图;

图9是本申请实施例提供的一种计算机设备的结构示意性框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本申请实施例提供一种内存泄漏处理方法、电子设备及计算机可读存储介质。其中,该内存泄漏处理方法可应用于电子设备中,该电子设备可以是服务器或终端。服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。以下以该内存泄漏处理方法应用于服务器为例进行解释说明。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,图1为本申请实施例提供的一种内存泄漏处理方法的步骤流程示意图。如图1所示,该内存泄漏处理方法包括步骤S101至步骤S103。

步骤S101、调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息。

示例性地,Open Harmony系统在运行时,通过内存中运行有多个不同的活动进程。通过系统信息获取工具获取OpenHarmony系统中正在活动的所有进程的进程编号,依次将进程编号作为系统信息获取工具的参数,调用系统信息获取工具采集进程的内存信息,并将进程的内存信息保存在数据表中。其中,内存信息可以包括多种数据,例如,进程编号,进程名,获取时间,内存使用数据。

步骤S102、基于数据可视化工具对每个进程对应的内存信息进行数据可视化处理,获得每个进程对应的可视化图表。

其中,可视化工具有多种,可以包括但不限于Matplotlib、Seaborn和Pandas。可视化工具可以生成多种可视化图表,如曲线图,直方图等等。

示例性地,将每个进程对应的内存信息输入至数据表中,根据内存信息的进行整理排序。使用可视化工具读取数据表中排序好的的内存信息,将内存信息生成可视化图表。

例如,可以使用Matplotlib视化工具读取数据表中排序好的的内存信息,将内存信息生成曲线图。

步骤S103、将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

示例性地,将每个进程对应的可视化图表和内存信息同时上传至服务器,当服务接收到数据时,会对根据可视化图表和内存信息进一步的分析并进行内存泄漏定位,根据内存泄漏定位结果生成任务清单,并将可视化图表和内存信息添加到任务清单中,依据内存故障类型与开发人员映射表将任务清单分配给相应的开发人员进行处理,开发人员可以根据内存泄漏定位结果、可视化图表和内存信息更有效率的进行内存泄漏故障处理。

上述实施例中,通过调用Open Harmony系统中的系统信息获取工具获取内存信息,并基于数据可视化工具内存信息生成可视化图表,将内存信息和可视化图表上传至服务器,可以使的对内存泄漏故障的获取和分析实现自动化,减少人工工作,提高了内存泄漏处理的效率。

请参阅图2,图2是本申请实施例提供的另一种内存泄漏处理方法的示意性流程图。如图2所示,内存泄漏处理方法可以包括步骤S201至步骤S205。

步骤S201、调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息。

可以理解,步骤S201与上述步骤S101相同,在此不作赘述。

步骤S202、依次将Open Harmony系统中的每个进程确定为当前进程。

步骤S203、对内存信息进行信息提取,获得当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间。

示例性地,提取当前进程对应的内存信息中的内存使用数据以及内存使用数据对应的获取时间,并将依照获取时间顺序将其保存在数据表中。

步骤S204、基于数据可视化工具,对多个内存使用数据以及每个内存使用数据对应的获取时间进行可视化处理,生成当前进程对应的内存曲线图表。

示例性地,基于数据可视化工具,创建空白图表,图表的横坐标为获取时间,图表的纵坐标为内存使用数据,读取数据表中当前进程使用的内存数据等以及内存使用数据对应的获取时间,将多个内存使用数据以及每个内存使用数据对应的获取时间作为坐标点的纵坐标数据与横坐标数据,绘制至空白图表中。并按照获取时间顺序依次使用直线连接各坐标点,得到当前进程对应的内存曲线图表。

如图3所示,图3是本申请实施例提供的一内存曲线图表示意图。内存曲线图表示意图中,横坐标为获取时间,纵坐标为内存使用数据,坐标点30代表当前进程内存使用数据和获取时间,直线31用于连接两个坐标点。

在一实施例中,将全部进程对应的内存曲线图表进行合并处理,获得总内存曲线图表。

示例性地,将全部进程对应的内存曲线图表中的曲线标记上对应的进程名,并全部进程对应的内存曲线图表叠加至一个图表中,获得总内存曲线图表。

需要说明的是,通过获得总曲线图表可以更清晰明了的查看当前系统中的所有进程的内存使用情况,使开发人员更好的判断出内存泄漏故障。

步骤S205、将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

可以理解,步骤S205与上述步骤S103相同,在此不作赘述。

上述实施例中,根据内存使用数据以及每个内存使用数据对应的获取时间绘制内存曲线图表,并将内存信息和内存曲线图表上传至服务器,能够准确地表示进程的内存使用数据以及每个内存使用数据对应的获取时间的关系,更加清晰明了的表示内存使用数据以及每个内存使用数据对应的获取时间的关系。

请参阅图4,图4是本申请实施例提供的另一种内存泄漏处理方法的示意性流程图。如图4所示,内存泄漏处理方法可以包括步骤S301至步骤S305。

步骤S301、依次将Open Harmony系统中的每个进程确定为当前进程。

步骤S302、对内存信息进行信息提取,获得当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间。

示例性地,提取当前进程对应的内存信息中的内存使用数据以及内存使用数据对应的获取时间,并将依照获取时间顺序将其保存在数据表中。

步骤S303、根据当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间,生成当前进程对应的多个二元数据组。

示例性地,将当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间,组成多个二元数据组,一个二元数据组包含一个内存使用数据以及内存使用数据对应的获取时间。需要说明的是,二元数据组代表获取时间时刻,当前进程的内存使用情况。

步骤S304、对多个二元数据组进行拟合处理,获得当前进程对应的拟合直线表达式。

示例性地,对多个二元数据组进行最小二乘拟合处理,通过最小化误差的平方和寻找二元数据组的最佳直线表达式匹配,把多个二元数据组拟合成一条直线表达式。通过拟合出直线表达式可以直观的体现出离散的二元数据组的趋势。

步骤S305、基于数据可视化工具,对多个二元数据组以及拟合直线表达式进行可视化处理,获得当前进程对应的拟合图表。

示例性地,基于数据可视化工具,创建空白图表,将多个二元数据组以及拟合直线表达式绘制在空白图表上,获得当前进程对应的拟合图表。

如图5所示,图5是本申请实施例提供的拟合图表示意图。拟合图表中的直线50为根据样本二元数据组对应生成的拟合直线表达式,拟合图表中的离散点51为基于二元数据组绘制的坐标点。

上述实施例中,收集内存信息并通过内存信息中的内存使用数据以及每个内存使用数据对应的获取时间进行最小二乘拟合处理,获得拟合图表,通过拟合图表可以初步对内存泄漏故障进行分析,提高后续对内存泄漏进行分析的效率。

请参阅图6,图6是本申请实施例提供的另一种内存泄漏处理方法的示意性流程图。如图6所示,步骤S304对多个二元数据组进行拟合处理,获得当前进程对应的拟合直线表达式之后,还可以包括步骤S401和步骤S402。

步骤S401、基于拟合直线表达式,确定拟合直线表达式对应的斜率。

示例性地,基于拟合直线表达式,随机获取拟合直线表达式的两个坐标点,依据斜率公式计算两个坐标点的斜率。需要说明的是,拟合直线表达式对应的斜率可以表示二元数据组的趋势。

步骤S402、若斜率大于预设斜率,则确定拟合直线表达式对应的进程发生内存泄漏故障。

示例性地,若斜率大于预设斜率则表明拟合直线表达式对应的进程在使用内存过程中,进程对应的内存使用数据的增加趋势不断提高,进程没有及时释放内存,可以判断进程出现了内存泄漏故障。其中,预设斜率视情况而定,在此不做限定。

在一实施例中,确定拟合直线表达式对应的进程发生内存泄漏故障之后还可以将拟合直线表达式对应的进程标记为故障进程,并将故障进程对应的内存使用数据以及内存使用数据对应的获取时间上传至服务器。

示例性地,获取服务器的递交故障接口,将故障进程对应的内存使用数据和以及内存使用数据对应的获取时间封装成一个请求,通过服务器的递交故障接口将请求上传至服务器。

需要说明的是,通过服务器的递交故障接口将内存使用数据和以及内存使用数据对应的获取时间作为初步分析结果上传至服务器,可以使服务器在对内存进行分析时提高工作效率。

上述实施例中,通过计算拟合直线表达式的斜率,可以初步判断确定拟合直线表达式对应的进程是否发生内存泄漏故障,以便提高后续进行内存泄漏故障分析效率。

请参阅图7,图7是本申请实施例提供的另一种内存泄漏处理方法的示意性流程图。如图7所示,内存泄漏处理方法可以包括步骤S501至步骤S503。

步骤S501、基于Open Harmony提供的定时任务功能,按照预设的获取周期调用系统信息获取工具,获取Open Harmony系统在每个获取周期的多个进程对应的内存信息,直至多个进程对应的内存信息达到预设获取数量。

其中,定时任务可以根据任务需求进行设定,例如五分钟调用一次系统信息获取工具,持续八小时。

示例性地,基于Open Harmony提供的定时任务功能,按照预设的获取周期调用系统信息获取工具,获取多个进程对应的内存信息,系统信息获取工具获取内存信息之后会统计内存信息是否达到预设获取数量,达到预设获取数量则会停止获取。

进一步的,系统信息获取工具对内存信息进行压缩处理,将压缩过的内存信息保存在存储空间中,减少内存信息对存储空间的占用。

步骤S502、基于数据可视化工具对每个进程对应的内存信息进行数据可视化处理,获得每个进程对应的可视化图表。

可以理解,步骤S502与上述步骤S102相同,在此不作赘述。

步骤S503、将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

可以理解,步骤S503与上述步骤S103相同,在此不作赘述。

上述实施例中,基于Open Harmony提供的定时任务功能,获取多个时间段的内存信息,并一起对其进行分析处理,可以实现自动获取内存信息,批量处理内存信息提高系统处理内存信息效率。

请参阅图8,图8是本申请实施例提供的另一种内存泄漏处理方法的示意性流程图。

如图8所示,步骤S103中将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果,可以包括步骤S601至步骤S603。

步骤S601、获取服务器所需的目标数据格式。

示例性地,与服务器建立通信,通过服务器提供的接口,获取服务器所需的目标数据格式。其中目标数据格式可以包括目标可视化图表格式和目标内存信息格式。需要说明的是,通过对可视化图表和内存信息进行规范化处理,可以使管理和分析更有效率。

步骤S602、基于目标数据格式,将每个进程对应的可视化图表和内存信息进行封装数据处理,获得每个进程对应的封装数据。

示例性地,将可视化图表转化成目标可视化图表格式,内存信息转成目标内存信息格式。例如目标格式中的图片格式为JPG格式,而可视化图表格式为PNG格式,则需要将PNG格式转成JPG格式。内存信息保存为数据表格式,而目标数据格式中的内存信息格式为JSON数据格式,则需要将数据表格式转成JSON数据格式。为了提高上传效率,可以将转化格式之后的可视化图表和内存信息封装成一个文件并进行压缩,减少数据体积。

步骤S603、通过服务器提供的接口,将封装数据上传至服务器以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

示例性地,通过服务器提供的接口,将封装数据上传至服务器。

上述实施例中,通过规范化可视化图表和内存信息可以上传符合服务器所需的目标数据格式的数据,增加数据传输的规范性,提高服务器的处理效率。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述内存泄漏处理方法实施例中的对应过程,在此不再赘述。

请参阅图9,图9为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端设备。

计算机设备可以包括服务器或终端。其中,服务器可以是独立的服务器,也可以是服务器集群。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。

如图9所示,该计算机设备700包括通过系统总线703连接的处理器701、存储器702和网络接口,其中,存储器702可以包括存储介质、非易失性存储介质和内存储器。存储介质可以是易失性存储介质,也可以是非易失性存储介质。

非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器701执行任意一种坐姿纠正系统的控制方法。处理器701用于提供计算和控制能力,支撑整个计算机设备700的运行。内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器701执行时,可使得处理器701执行任意一项服务资源加载方法。

该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备700的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器701可以是中央处理单元(Central Processing Unit,C PU),该处理器701还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息;基于数据可视化工具对每个进程对应的内存信息进行数据可视化处理,获得每个进程对应的可视化图表;将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

在一个实施例中,处理器用于实现:

依次将Open Harmony系统中的每个进程确定为当前进程;对内存信息进行信息提取,获得当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间;基于数据可视化工具,对多个内存使用数据以及每个内存使用数据对应的获取时间进行可视化处理,生成当前进程对应的内存曲线图表。

在一个实施例中,处理器用于实现:

将全部进程对应的内存曲线图表进行合并处理,获得总内存曲线图表。

在一个实施例中,处理器用于实现:

依次将Open Harmony系统中的每个进程确定为当前进程;对内存信息进行信息提取,获得当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间;根据当前进程对应的多个内存使用数据以及每个内存使用数据对应的获取时间,生成当前进程对应的多个二元数据组;对多个二元数据组进行拟合处理,获得当前进程对应的拟合直线表达式;基于数据可视化工具,对多个二元数据组以及拟合直线表达式进行可视化处理,获得当前进程对应的拟合图表。

在一个实施例中,处理器用于实现:

基于拟合直线表达式,确定拟合直线表达式对应的斜率;

若斜率大于预设斜率,则确定拟合直线表达式对应的进程发生内存泄漏故障。

在一个实施例中,处理器在实现调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息时,用于实现:

基于Open Harmony提供的定时任务功能,按照预设的获取周期调用系统信息获取工具,获取Open Harmony系统在每个获取周期的多个进程对应的内存信息,直至多个进程对应的内存信息达到预设获取数量。

在一个实施例中,处理器在实现将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果时,用于实现:

获取服务器所需的目标数据格式;基于目标数据格式,将每个进程对应的可视化图表和内存信息进行封装数据处理,获得每个进程对应的封装数据;通过服务器提供的接口,将封装数据上传至服务器以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述内存泄漏处理方法实施例中的对应过程,在此不再赘述。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序中包括程序指令,程序指令被执行时所实现的方法可参照本申请内存泄漏处理方法的各个实施例。例如,该程序被处理器加载,可以执行如下步骤:

调用Open Harmony系统中的系统信息获取工具,获取Open Harmony系统的多个进程对应的内存信息。基于数据可视化工具对每个进程对应的内存信息进行数据可视化处理,获得每个进程对应的可视化图表。将每个进程对应的可视化图表和内存信息上传至服务器,以供服务器根据可视化图表和内存信息进行内存泄漏定位,获得内存泄漏定位结果。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 三维模型处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 任务处理方法、装置、电子设备及计算机可读存储介质
  • 数据处理方法和装置、电子设备及计算机可读存储介质
  • 内存泄漏的处理方法、装置、可读介质和电子设备
  • 防止内存泄漏方法、装置及计算机可读存储介质
技术分类

06120116224990