CN115904864B - 内存溢出的监测方法、电子设备、介质及计算机程序产品 - Google Patents
内存溢出的监测方法、电子设备、介质及计算机程序产品 Download PDFInfo
- Publication number
- CN115904864B CN115904864B CN202211405205.9A CN202211405205A CN115904864B CN 115904864 B CN115904864 B CN 115904864B CN 202211405205 A CN202211405205 A CN 202211405205A CN 115904864 B CN115904864 B CN 115904864B
- Authority
- CN
- China
- Prior art keywords
- memory
- extremum
- machine type
- early warning
- memory overflow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种内存溢出的监测方法,可包括:获取多个机型的内存溢出极值,以生成机型极值数据库;响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值;以及监测应用程序的占用内存值和目标机型的内存溢出极值之间的实时比值,当实时比值超过报警阈值时,生成预警信息。本公开还提供一种电子设备、存储介质及计算机程序产品。
Description
技术领域
本公开特别涉及一种内存溢出的监测方法、电子设备、存储介质及计算机程序产品。
背景技术
针对一些移动设备的操作系统(例如iOS)的应用程序(App),通常采用排除法作为统计内存溢出原因的主要方案。
排除法对App退出的各种原因进行了穷举,例如App崩溃、收到停止信号、用户主动退出等,并在App退出时对这些原因进行了标记;在下次启动App时,对标记的各种原因进行排除,如果不是已知的各种原因,则认定为是OOM(out of memory,记忆缺失)。但是,随着操作系统的更新,会产生一些新的App退出原因,由于排除法对已知退出原因的更新时效具有滞后性,以致其无法覆盖新的App退出原因。另外,有一些APP退出原因无法被对应的监测芯片(Watchdog芯片)所监测,因此无法完全排除OOM以外的所有情况,以致最终的统计数据不准确。再者,排除法只能在二次启动App时进行数据上报,会存在漏报的情况;并且二次启动App时,App退出时所处的运行环境已经被破坏,难以获得App退出时的相关信息。
当然,排除法也无法对App退出所造成的数据缺失的后果起到改善的作用,例如无法根据不同机型匹配对应内存极值;无法给予用户内存溢出预警,以提前释放多余内存。
发明内容
本公开提供了一种内存溢出的监测方法、电子设备、存储介质及计算机程序产品。
根据本公开的一个方面提供了一种内存溢出的监测方法,可包括:获取多个机型的内存溢出极值,以生成机型极值数据库;响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值;以及监测应用程序的占用内存值和目标机型的内存溢出极值之间的实时比值,当实时比值超过报警阈值时,生成预警信息。
在一些实施方式中,获取多个机型的内存溢出极值,以生成机型极值数据库,可包括:分别获取各个机型的多个内存峰值;在多个内存峰值中,确定机型的过程极值;求取机型的过程极值与机型的历史极值的均值,并以均值作为机型的内存溢出极值;以及将各个机型的内存溢出极值进行聚合,生成机型极值数据库。
在一些实施方式中,在多个内存峰值中,确定机型的过程极值,可包括:在目标周期内,统计所述机型各个内存峰值的出现次数;根据数值降序,对机型的各个内存峰值进行排序;依序计算内存峰值的出现次数与内存峰值的历史出现总数的次数比值;以及响应于次数比值超过次数阈值的比较结果,以内存峰值作为机型的过程极值。
在一些实施方式中,在确定机型的过程极值之前,可包括:对各个机型的多个内存峰值分别进行清洗,以剔除异常的内存峰值。
在一些实施方式中,预警信息包括预警等级,预警等级依降序至少包括一级预警、二级预警和三级预警。
在一些实施方式中,在响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值之后,可包括:启动定时器,以目标采样频率获取应用程序在采样时刻的占用内存值。
在一些实施方式中,在生成预警信息之后,可包括:响应于预警信息,释放边缘内存、触发溢出数据的存储操作、或者将预警信息上报至客户端。
在一些实施方式中,在生成预警信息之后,可包括:响应于预警信息的预警等级为一级预警的识别结果,触发对应用程序的使用信息的收集操作,其中使用信息至少包括:应用程序的页面轨迹、页面的占用内存值以及应用程序的使用时长。
根据本公开的另一个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时,以实现如上述任一实施方式的内存溢出的监测方法。
根据本公开的又一个方面提供了一种可读存储介质,可读存储介质存储有计算机程序,计算机程序适于处理器进行加载,以执行如上述任一实施方式的内存溢出的监测方法。
根据本公开的再一个方面提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述任一实施方式的内存溢出的监测方法。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1为本公开示例性实施方式的内存溢出的监测方法流程图。
图2为本公开示例性实施方式的内存溢出的监测信令图。
图3为本公开示例性实施方式的内存溢出的监测装置框图。
附图标记说明
1000 内存溢出的监测装置
1002 数据库生成模块
1004 极值匹配模块
1006 预警信息生成模块
1100 总线
1200 处理器
1300 存储器
1400 其他电路。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
本文使用的术语是为了描述具体实施例的目的,而不是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
图1为本公开示例性实施方式的内存溢出的监测方法流程图;图2为本公开示例性实施方式的内存溢出的监测信令图。下面将结合图1至图3详细说明上述内存溢出的监测方法S100的各个步骤的具体实现方式。
步骤S102,获取多个机型的内存溢出极值,以生成机型极值数据库。
其中,内存溢出极值指的是在启动任一应用程序(App)时,启动该App的机型所能存储数据的最大内存值;换言之,当超过内存溢出极值之后,该机型将无法存储溢出的数据,这也是造成数据缺失的原因之一,因此及时提供预警信息对于预防数据缺失而言尤为重要。
机型极值数据库存储有多种机型的内存溢出极值,每种机型的物理内存值不同,因此其启动App时的内存溢出极值也不同。机型极值数据库中的各个机型的内存溢出极值在一个目标周期内会进行更新,以保证各个机型的内存溢出极值的可靠性和准确性。机型极值数据库设置在后端的服务器上。目标周期可为一天,也可为其他预设周期,不做限制。
步骤S104,响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值。
其中,目标机型为当前进行内存溢出监测的设备对应的机型。机型极值数据库中各个机型分别对应一个内存溢出极值,根据目标机型,可在机型极值数据库中提取该机型对应的内存溢出极值。
具体地,当App启动时,APP SDK(软件开发包)会向服务端发出数据拉取的请求,以请求服务端在机型极值数据库中拉取目标机型对应的内存溢出极值。服务端在查找该目标机型对应的内存溢出极值之后,会返回数据至APP SDK,以将目标机型对应的内存溢出极值反馈至APP SDK。
步骤S106,监测应用程序的占用内存值和目标机型的内存溢出极值之间的实时比值,当实时比值超过报警阈值时,生成预警信息。
其中,实时比值用于表征目标机型运行App时所产生的的占用内存值占目标机型的内存溢出极值的比例;根据不同的预警等级,报警阈值也分为多个等级;相对应的,实时比值达到不同报警阈值时,将会产生不同预警等级的预警信息。
预警等级依降序设置为一级预警、二级预警和三级预警,也就是说,一级预警的效力大于二级预警,二级预警的效力大于三级预警。
更具体地,可设置三级预警的报警阈值为75%,二级预警的报警阈值为85%,三级预警的报警阈值为75%。也就是说,当实时比值处于75%至85%之间时,触发预警级别为三级预警的预警信息;当实时比值处于85%至95%之间时,触发预警级别为二级预警的预警信息;当实时比值超过95%时,触发预警级别为一级预警的预警信息。当然,若没达到75%时,不生成预警信息。
根据不同预警级别的预警信息,会执行相应预警等级的处理。预警等级不限于上述三种,不同预警等级的报警阈值也设置为不同比例,可通过服务端进行设定。
在一些实施方式中,获取步骤S102的具体实现方式是:分别获取各个机型的多个内存峰值;在多个内存峰值中,确定机型的过程极值;求取机型的过程极值与机型的历史极值的均值,并以均值作为机型的内存溢出极值;以及将各个机型的内存溢出极值进行聚合,生成机型极值数据库。
其中,内存峰值指的是在一个目标周期中,具有任一机型的任一台设备在运行任意App时所产生的占用内存值的最大值。过程极值指的是,在该目标周期内,具有相同机型的所有设备在运行任意App时上报的内存峰值中的最大值。
在一些实施方式中,分别获取各个机型的多个内存峰值,包括:在启动App之后,可根据需求设置对占用内存值的采样频率进行设置;例如设置采样频率为2秒,那么启动App之后,相应的APP SDK会在该目标周期中,每2秒监测一次该目标设备运行App时所产生的占用内存值,直至关闭该App。当关闭该App之后,将目标周期中目标设备产生的占用内存值中的最大值,作为目标设备运行App的内存峰值。整合具有相同机型的所有设备上传的内存峰值,即获得了各个机型的多个内存峰值。
其中,各个设备的内存峰值均上传至数据处理端。以目标设备为例,上传数据的格式可为:
其中,“device_model”:“iPhone10,6”表示目标设备的机型为iPhone10,6即iPhoneX;“peak_memory”:1280表示目标设备使用App时达到的内存峰值为1280GB。
当然,由于操作系统iOS的对应的机型较少,便于统计,因此本公开以操作系统iOS为例进行阐述,实际上本公开适用于对所有操作系统进行内存溢出的监测,包括安卓、鸿蒙等。
在一些实施方式中,在多个内存峰值中,确定机型的过程极值的具体步骤可为:在目标周期内,统计机型各个内存峰值的出现次数;根据数值降序,对机型的各个内存峰值进行排序;依序计算内存峰值的出现次数与内存峰值的历史出现总数的次数比值;以及响应于次数比值超过次数阈值的比较结果,以内存峰值作为机型的过程极值。
下面对过程极值的获取过程进行详细阐述:
首先,数据处理端将目标周期内的各个机型的各个内存峰值进行聚合,以对各个机型的各种内存峰值的出现次数进行统计,并聚合为以下形式:
其中,“peak_memory”:1281表示机型iPhone10,6使用App时达到的内存峰值为1281GB;“count”:100表示某机型的某个内存峰值的出现次数为100次。
进一步地,当次数比值超过次数阈值时,例如万分之五,则认为该出现次数对应的内存峰值为可信赖的数值,并以此作为该机型的内存极值。若次数比值小于次数阈值时,则认为该内存峰值为偶发,不具备代表性,此时依序重复计算后面的内存峰值的次数比值,直至出现次数比值超过次数阈值的可信赖的内存峰值,则以该内存峰值作为过程极值。基于此过程,可在各个内存峰值中提取可信赖的且数值最大的内存峰值作为过程极值。
更进一步地,将各个机型的过程极值聚合起来,以形成过程极值列表,示例如下:
其中,“peak_memory”:1392表示内存峰值为1392GB(当然,在过程极值列表中,内存峰值即为过程极值);“device_model”:“iPhone11,8”表示机型为iPhone11,8;“peak_memory”:1792表示内存峰值(即过程极值)为1792GB。
更进一步地,在形成过程极值列表之后,数据处理端将该列表传输给服务器。每个目标周期针对同种机型所获得的过程极值会存在细微差异,服务器在将数据写入机型极值数据库的时候,将当前的过程极值与历史极值进行求均值计算,并以均值作为内存溢出极值写入机型极值数据库,以保证机型极值数据库中各个机型的内存溢出极值具有可信度。
在一些实施方式中,在确定机型的过程极值之前,还可包括:对各个机型的多个内存峰值分别进行清洗,以剔除异常的内存峰值。例如,机型为iPhone10,6的设备的物理内存为2GB,但是上报的内存峰值超过2GB,那么该内存峰值为异常数据,删除该机型信息以及对应的内存峰值,以免对过程极值和内存溢出极值的确定产生干扰。
在一些实施方式中,App可任意选择,最后生成的任意机型的内存溢出极值适用于该机型运行的所有App,具有普适性。
在一些实施方式中,在步骤S104之后,还可包括:启动定时器,以目标采样频率获取应用程序在采样时刻的占用内存值。
目标采样频率为采集目标机型运行App所产生的占用内存的频率,可设置为2秒。此时,定时器每两秒触发一次APP SDK,以采集占用内存。目标采样频率可根据需求设定,以及时监测占用内存的情况,避免内存溢出造成的数据缺失。
在一些实施方式中,在步骤S106之后,APP SDK会响应该预警信息,执行释放边缘内存、触发溢出数据的存储操作、或者将预警信息上报至客户端等动作,以避免溢出数据的缺失。
在一些实施方式中,在步骤S106之后,可包括:响应于预警信息的预警等级为一级预警的识别结果,触发对应用程序的使用信息的收集操作。
换言之,当App的占用内存值和目标机型的内存溢出极值之间的实时比值超过一级预警的报警阈值时,APP SDK将主动收集当前运行APP的使用信息,例如,页面轨迹、页面的占用内存值以及应用程序的使用时长等。使用信息可用于内存溢出为的排查。
进一步地,APP SDK将收集的使用信息上传至数据处理端,以由其对使用信息进行数据处理。当然,数据处理端会定时执行数据处理任务,将收集的各个机型的内存溢出数据进行聚合,包括机型、App版本和日期等。更进一步地,数据处理端在处理完使用信息以及其他处理任务之后,将其传输至服务端进行存储,以完成目标周期中对各个机型运行App过程中的内存溢出的监测,可及时进行应对以避免数据缺失。
根据本公开的内存溢出的监测方法,由于不同机型的内存溢出时机不同,因此统计不同机型对应的内存溢出极值,可针对性地提出预警信息,使得预警信息更具备可信度;另外,在内存溢出时可及时发现,并给予开发者应对时间和机会,以避免由于内存溢出造成的数据丢失。当然,本公开还可对出现内存溢出时的App使用信息进行采集,以确定产生内存溢出的具体原因。
图3为本公开示例性实施方式的内存溢出的监测装置框图。如图3所示,根据本公开的另一个方面提供了一种内存溢出的监测装置1000,可包括:数据库生成模块1002,用于获取多个机型的内存溢出极值,以生成机型极值数据库;极值匹配模块1004,用于响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值;以及预警信息生成模块1006,用于监测应用程序的占用内存值和目标机型的内存溢出极值之间的实时比值,当实时比值超过报警阈值时,生成预警信息。
内存溢出的监测装置1000是为了实现内存溢出的监测方法S100的各步骤而提出的,其中各个模块的处理过程、涉及的原理等均与前文内存溢出的监测方法S100相同,不再赘述。
根据本公开的内存溢出的监测装置,由于不同机型的内存溢出时机不同,因此统计不同机型对应的内存溢出极值,可针对性地提出预警信息,使得预警信息更具备可信度;另外,在内存溢出时可及时发现,并给予开发者应对时间和机会,以避免由于内存溢出造成的数据丢失。当然,本公开还可对出现内存溢出时的App使用信息进行采集,以确定产生内存溢出的具体原因。
该装置1000可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
该硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路1400连接。
总线1100可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的方法。
本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现内存溢出的监测方法,该方法可包括:获取多个机型的内存溢出极值,以生成机型极值数据库;响应于目标机型对应用程序的触发指令,在机型极值数据库中提取目标机型的内存溢出极值;以及监测应用程序的占用内存值和目标机型的内存溢出极值之间的实时比值,当实时比值超过报警阈值时,生成预警信息。
本公开还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现本公开任一个实施方式的实现内存溢出的监测方法。
在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施方式/方式或示例中。在本说明书中,对上述术语的示意性表述不必须是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (7)
1.一种内存溢出的监测方法,其特征在于,包括:
获取多个机型的内存溢出极值,以生成机型极值数据库,包括:分别获取各个所述机型的多个内存峰值;对各个所述机型的多个内存峰值分别进行清洗,以剔除异常的内存峰值;在多个所述内存峰值中,确定所述机型的过程极值;求取所述机型的过程极值与所述机型的历史极值的均值,并以所述均值作为所述机型的内存溢出极值;以及将各个所述机型的内存溢出极值进行聚合,生成机型极值数据库;
响应于目标机型对应用程序的触发指令,在所述机型极值数据库中提取所述目标机型的内存溢出极值;以及
监测所述应用程序的占用内存值和所述目标机型的内存溢出极值之间的实时比值,当所述实时比值超过报警阈值时,生成预警信息;
所述在多个所述内存峰值中,确定所述机型的过程极值,包括:
在目标周期内,统计所述机型各个内存峰值的出现次数;
根据数值降序,对机型的各个所述内存峰值进行排序;
依序计算所述内存峰值的出现次数与所述内存峰值的历史出现总数的次数比值;以及
响应于所述次数比值超过次数阈值的比较结果,以所述内存峰值作为所述机型的所述过程极值。
2.根据权利要求1所述的内存溢出的监测方法,其特征在于,在所述确定所述机型的过程极值之前,包括:
对各个所述机型的多个内存峰值分别进行清洗,以剔除异常的内存峰值。
3.根据权利要求1所述的内存溢出的监测方法,其特征在于,所述预警信息包括预警等级,所述预警等级依降序至少包括一级预警、二级预警和三级预警。
4.根据权利要求1所述的内存溢出的监测方法,其特征在于,在所述响应于目标机型对应用程序的触发指令,在所述机型极值数据库中提取所述目标机型的内存溢出极值之后,包括:
启动定时器,以目标采样频率获取所述应用程序在采样时刻的占用内存值。
5.根据权利要求1所述的内存溢出的监测方法,其特征在于,在所述生成预警信息之后,包括:
响应于所述预警信息的预警等级为一级预警的识别结果,触发对所述应用程序的使用信息的收集操作,其中所述使用信息至少包括:所述应用程序的页面轨迹、所述页面的占用内存值以及所述应用程序的使用时长。
6.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现如权利要求1至5中任一项所述的内存溢出的监测方法。
7.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1至5中任一项所述的内存溢出的监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405205.9A CN115904864B (zh) | 2022-11-10 | 2022-11-10 | 内存溢出的监测方法、电子设备、介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405205.9A CN115904864B (zh) | 2022-11-10 | 2022-11-10 | 内存溢出的监测方法、电子设备、介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904864A CN115904864A (zh) | 2023-04-04 |
CN115904864B true CN115904864B (zh) | 2023-09-19 |
Family
ID=86470328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211405205.9A Active CN115904864B (zh) | 2022-11-10 | 2022-11-10 | 内存溢出的监测方法、电子设备、介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904864B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199732A (zh) * | 2014-08-28 | 2014-12-10 | 上海新炬网络技术有限公司 | 一种pga内存溢出智能处理方法 |
CN105677385A (zh) * | 2015-12-29 | 2016-06-15 | 北京金山安全软件有限公司 | 一种应用程序的适配方法、装置及电子设备 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
CN113835992A (zh) * | 2020-06-23 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 内存泄露的处理方法、装置、电子设备及计算机存储介质 |
-
2022
- 2022-11-10 CN CN202211405205.9A patent/CN115904864B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199732A (zh) * | 2014-08-28 | 2014-12-10 | 上海新炬网络技术有限公司 | 一种pga内存溢出智能处理方法 |
CN105677385A (zh) * | 2015-12-29 | 2016-06-15 | 北京金山安全软件有限公司 | 一种应用程序的适配方法、装置及电子设备 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
CN113835992A (zh) * | 2020-06-23 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 内存泄露的处理方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115904864A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558544B2 (en) | Multiple modeling paradigm for predictive analytics | |
CN113176978B (zh) | 基于日志文件的监控方法、系统、设备及可读存储介质 | |
CN111273176B (zh) | 一种故障诊断的优化方法及装置、系统和存储介质 | |
CN110441584B (zh) | 设备运行状态监测方法、装置、存储介质和系统 | |
CN114446020B (zh) | 联动预警管理方法、系统、存储介质及设备 | |
CN109656786B (zh) | 日志获取方法及装置 | |
CN114202238A (zh) | 供电设备健康度评估方法、运维方法、装置及服务器 | |
CN115794532A (zh) | 多指标智能动态阈值监控方法及系统 | |
CN102141948A (zh) | 带噪声的监控器检测和间歇故障隔离 | |
CN113505044A (zh) | 数据库告警方法、装置、设备和存储介质 | |
CN112285478A (zh) | 车辆静态电流的检测方法和装置、介质、设备、车辆 | |
CN115080356A (zh) | 异常告警方法和装置 | |
KR101960755B1 (ko) | 미취득 전력 데이터 생성 방법 및 장치 | |
CN113787914B (zh) | 动力电池的监控方法、装置、服务器及存储介质 | |
CN115904864B (zh) | 内存溢出的监测方法、电子设备、介质及计算机程序产品 | |
CN111555917A (zh) | 基于云平台的告警信息处理方法及装置 | |
CN109740797B (zh) | 一种基于条件概率的电力设备缺陷事件预警方法 | |
CN112905463B (zh) | 软件测试监控方法、装置、电子设备及可读存储介质 | |
CN112422669B (zh) | 一种多关联设备数据实时提取方法及相关装置 | |
CN114881321A (zh) | 机械部件故障预测方法、装置、电子设备及存储介质 | |
CN114297034A (zh) | 云平台监控方法及云平台 | |
CN112804104A (zh) | 一种预警方法、装置、设备及介质 | |
CN112632121A (zh) | 区块链数据获取方法和装置 | |
CN112134760A (zh) | 链路状态监控方法、装置、设备及计算机可读存储介质 | |
CN116185635A (zh) | 数据处理、弹性伸缩方法、计算设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |