This application relates to the storage space processing technology field, and discloses a memory overflow OOM processing method, electronic equipment and computer readable storage medium, in which the memory overflow OOM processing method includes: step a, detecting whether the preset memory threshold reason satisfies the OOM processing condition; step b, if the OOM processing condition is satisfied, then according to the current running conditions in the client side. The first priority queue of each process is from low to high, and the corresponding process is shut down. Among them, the reasons for the memory threshold satisfying the OOM processing conditions include the following: virtual memory space is less than the default virtual memory space threshold; memory page interruption jitter; memory swap space is less than the default memory swap space threshold; and memory available pages are less than or equal to the memory available pages. Number threshold. The method of the embodiment of the present application effectively avoids the occurrence of abnormal situations such as Karton and forced shutdown caused by OOM to users.
【技术实现步骤摘要】
内存溢出OOM的处理方法、电子设备及计算机存储介质
本申请涉及存储空间处理
,具体而言,本申请涉及一种内存溢出OOM的处理方法、电子设备及计算机存储介质。
技术介绍
OOM(OutOfMemory,内存溢出)指的是因为内存使用过多而导致的客户端(例如各种应用程序)闪退,这是一种操作系统管理内存的机制。通常意义的智能终端(例如智能手机)的内在包括系统物理内存和进程可使用的内存,当系统物理内存不足时,操作系统会释放其他进程并释放内存。一般情况下,内存使用较大的进程或者占用物理内存较高的进程会被操作系统优先释放,进程可使用的内存主要由虚拟机管理,安卓系统的应用程序是运行在佳沃Java虚拟机上的,其内存分配在托管堆上,并通过虚拟机来管理。一般来说,虚拟机会合理的管理内存,但是当应用使用的内存比较高时,或者内存一直被引用时,虚拟机无法完成内存回收,因此会产生内存不足的情况,导致出现OOM异常,然而,目前还不存在对OOM进行有效处理的方法。
技术实现思路
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:第一方面,提供了一种内存溢出OOM的处理方法,包括:步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。具体地,依据客户端中当前运行的各个进程从低到高的 ...
【技术保护点】
1.一种内存溢出OOM的处理方法,其特征在于,包括:步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
【技术特征摘要】
1.一种内存溢出OOM的处理方法,其特征在于,包括:步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。2.根据权利要求1所述的方法,其特征在于,所述依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:从第二优先级队列中获取优先级最低的第一进程,并执行:步骤c、检测所述第一进程是否满足第一预设条件,所述第二优先级队列中的各个进程为所述第一优先级队列中优先级小于预设优先级阈值的进程,所述第一预设条件为足迹字节数小于或等于内存限制字节数;如果满足第一预设条件,则继续从所述第二优先级队列中获取所述第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行步骤c,直至检测完所述第二优先级队列中的全部进程;如果不满足,则关闭所述第一进程,并循环执行步骤a和步骤b。3.根据权利要求2所述的方法,其特征在于,所述依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:当检测完所述第二优先级队列中的全部进程后,从所述第二优先级队列中未获取到进程或者所述第二优先级队列中存在未被关闭的进程时,检测所述客户端中闲置空间的第三优先级队列中是否存在进程;如果存在进程,则关闭所述第三优先级队列中优先级最低的进程,并循环执行步骤a和步骤b;如果不存在进程,则获取所述客户端中后台运行的进程的数量,并根据所述后台运行的进程的数量对后台运行的进程进行相应处理。4.根据权利要求3所述的方法,其特征在于,根据所述后台运行的进程的数量对后台运行的进程进行相应处理,包括:步骤d、检测所述后台运行的进程的数量是否大于零;步骤e、如果大于零,则关闭所述后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值;如果内存可用页数小于或等于内存可用页数阈值,则循环执行步骤d及步骤e,直至所述后台运行的进程的数量为零;如果内存可用页数大于内存可用页数阈值,则循环执...
【专利技术属性】
技术研发人员:刘德平,
申请(专利权)人:北京微播视界科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。