CN112363841B - 应用进程的查杀方法、装置、电子设备及存储介质 - Google Patents

应用进程的查杀方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112363841B
CN112363841B CN202011359763.7A CN202011359763A CN112363841B CN 112363841 B CN112363841 B CN 112363841B CN 202011359763 A CN202011359763 A CN 202011359763A CN 112363841 B CN112363841 B CN 112363841B
Authority
CN
China
Prior art keywords
memory
kernel
preset
pressure
killing
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
Application number
CN202011359763.7A
Other languages
English (en)
Other versions
CN112363841A (zh
Inventor
李培锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN202011359763.7A priority Critical patent/CN112363841B/zh
Publication of CN112363841A publication Critical patent/CN112363841A/zh
Application granted granted Critical
Publication of CN112363841B publication Critical patent/CN112363841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种应用进程的查杀方法、装置、电子设备及存储介质,涉及计算机技术领域,可对应用进程进行有效查杀,解决因剩余内存过少引起的电子设备出现卡顿、死机、重启等问题。该应用进程的查杀方法包括:获取第一预设时间内的无效查杀次数;将所述无效查杀次数与预设次数进行比较;当所述无效查杀次数大于或等于所述预设次数时,降低调整阈值;对调整值高于所述调整阈值的应用进程进行查杀,所述调整值用于表征所述应用进程的重要程度。

Description

应用进程的查杀方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用进程的查杀方法、应用进程查杀装置、电子设备及存储介质。
背景技术
随着技术的发展,电子设备已经融入到用户的日常生活中。但是,若电子设备内核的剩余内存过少,可能导致电子设备出现卡顿、死机、重启等现象,从而影响用户体验。
发明内容
本申请实施例提供一种应用进程的查杀方法、装置、电子设备及存储介质,可以解决上述问题。
第一方面,提供一种应用进程的查杀方法,包括:获取第一预设时间内的无效查杀次数;将无效查杀次数与预设次数进行比较;当无效查杀次数大于或等于预设次数时,降低调整阈值;对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
第二方面,提供一种应用进程查杀装置,包括获取模块以及处理模块。获取模块用于获取第一预设时间内的无效查杀次数。处理模块,用于将无效查杀次数与预设次数进行比较,还用于当无效查杀次数大于预设次数时,降低调整阈值,以及还用于对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
第三方面,提供一种电子设备,包括:一个或多个处理器;存储器;以及,一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行第一方面所述的方法。
第四方面,提供一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行如第一方面所述的方法。
本申请实施例提供的应用进程的查杀方法、装置、电子设备以及存储介质中,通过获取第一预设时间内的无效查杀次数,并根据无效查杀次数与预设次数的比较结果,确定杀进程回收内存(Low Memory Killer Daemon,简称LMKD)机制是否正常,若无效查杀次数大于或等于预设次数,则说明LMKD机制出现问题,内核内存压力仍然较大。基于此,本申请可以在无效查杀次数大于或等于预设次数时,降低调整阈值,以利用查杀进程对更多应用进程进行查杀,从而增大内核剩余内存,避免因剩余内存过少引起的卡顿、死机、重启等问题,提高用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的各个应用进程下的应用程序的示意图;
图2为本申请实施例提供的对应用进程进行查杀的流程示意图;
图3为本申请实施例提供的应用进程查杀流图框图;
图4为本申请实施例提供的对应用进程进行查杀的流程示意图;
图5为本申请实施例提供的应用进程查杀流图框图;
图6为本申请实施例提供的应用进程查杀流图框图;
图7为本申请实施例提供的应用进程查杀流图框图;
图8为本申请实施例提供的应用进程查杀流图框图;
图9为本申请实施例提供的应用进程查杀流图框图;
图10为本申请实施例提供的对应用进程进行查杀的流程示意图;
图11为本申请实施例提供的应用进程查杀流图框图;
图12为本申请实施例提供的对应用进程进行查杀的流程示意图;
图13为本申请实施例提供的应用进程查杀流图框图;
图14为本申请实施例提供的应用进程查杀装置的框图;
图15为本申请实施例提供的电子设备中各个模块的关系框图;
图16为本申请实施例提供的计算机可读存储介质与应用程序的关系框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
基于背景技术提出的问题,相关技术可以采用LMKD机制,提前回收部分进程所占的内存,以确保电子设备的内存充足,提高用户体验。
然而,现有LMKD机制存在一些问题,例如在内核回收内存的过程中,回收缓存文件时出现阻塞,此时查杀进程并没有对应用进程进行有效查杀,但内核的内存压力可能仍比较大,导致电子设备仍出现卡顿、死机、重启等现象,影响用户体验。
针对上述问题,发明人经研究后提出了一种应用进程的查杀方法,可以解决内核的可用内存过小、以及查杀进程对应用进程进校无效查杀,导致电子设备出现卡顿、死机、重启等现象的问题。
其中,以使用安卓系统的电子设备为例,电子设备中工作的应用进程可以包括:前台进程(Foreground process)、可见进程(Visible process)、服务进程(Serviceprocess)、后台进程以及空进程等。
对于前台进程,只要满足以下任一条件即可视为前台进程:托管用户正在交互的应用程序(activity);托管某个服务(service),该服务绑定在用户正在交互的应用程序上;托管正在“前台”运行的service;托管正在执行一个生命周期回调的service;托管正执行其on Receive()方法的广播接收者(Broadcast Receiver)。如图1所示,前台进程例如可以包括浏览器。
在任意时间运行的前台进程都不多,只有在内核的可用内存不足以支撑这些运行的前台进程同时运行时,查杀进程才会终止它们。
可见进程为没有任何前台组件,但仍会影响用户看到屏幕上的内容的进程。只要满足以下任一条件即可视为可见进程:托管不再前台、但仍对用户可见的service;托管绑定到可见进程或前台进程的service。如图1所示,可见进程例如可以是与电子设备连接的键盘、耳机等。
可见进程被视为极其重要的内存,除非为了维持所有前台进程同时运行,而对这些可见进程进行终止,否则,查杀进程不会终止它们。
服务进程为正在运行已使用start service()方法启动的服务,且不属于前台进程以及可见进程的进程。尽管服务进程与用户所见的内容没有直接关联,但是它们通常在执行一些用户关心的操作(例如,在后台播放音乐或从网络下载数据)。因此,除非内核的内存不足以维持所有前台进程和可见进程同时运行,否则,会让服务进程保持运行状态。如图1所示,服务进程例如可以是云服务器、回收站等。
后台进程包目前对用户不可见的activity。查杀进程可以随时终止后台进程,以回收内存供前台进程、可见进程以及服务进程使用。在同一时间运行的后台进程可能有很多,它们保存在最近最少使用(Least Recently Used,简称LRU)列表中,以确保用户最近查看的activity最后被终止。如图1所示,后台进程例如可以是安全杀毒应用。
空进程为不包含任何应用组件的进程,保留空进程的目的为用作缓存,以缩短下次运行相关应用程序时,所需的启动时间。为了使系统资源在进程缓存以及底层内核缓存之间保持平衡,查杀进程可以首先终止空进程。如图1所示,空进程例如可以是观看视频后缓存的视频数据。
综上,查杀进程对前台进程、可见进程、服务进程、后台进程以及空进程的查杀优先级为:优先查杀空进程,之后依次为后台进程、服务进程、可见进程以及前台进程。当然,使用安卓系统的电子设备可能还包括其他应用进程,本申请对此不作特殊限定。
查杀进程在对应用进程查杀的过程中,可以根据内核的剩余内存,确定需要查杀的应用进程的范围,并对该范围内的应用进程进行查杀,直至剩余内存足以运行当前的应用进程。
如图2所示,本申请实施例提供了一种应用进程的查杀方法,该方法包括:
S110、获取第一预设时间内的无效查杀次数。
在内核剩余内存小于内存阈值时,查杀进程可对超出调整阈值的应用程序进行查杀,在查杀过程中,一段时间内可能出现无效查杀的现象,如图3所示,可以获取第一预设时间内的无效查杀次数。
在一些实施例中,不对第一预设时间的具体时长进行限定,第一预设时间的时长,可以根据内核剩余内存、以及内存阈值等条件进行设定。
示例的,第一预设时间的时长为10s,在这10s内,获取到的无效查杀次数为100次。
在一些实施例中,内存阈值为基于电子设备的内核剩余内存设定的阈值,当内核剩余内存大于或等于内存阈值时,说明内核剩余内存充足,查杀进程无需对应用进程进行查杀;当内核剩余内存小于内存阈值时,说明内核剩余内存不足,查杀进程应对应用进程进行查杀,以增大内核剩余内存。
S120、将无效查杀次数与预设次数进行比较。
通过步骤S110获取第一预设时间内的查杀次数后,可以将第一预设时间内的查杀次数与预设次数进行比较,以确定LMKD机制是否存在问题。
在一些实施例中,不对预设次数进行限定,预设次数的设定与第一预设时间的具体时长、内核具体的剩余内存、以及内存阈值等条件有关。
示例的,预设次数为50次,而在时长为10s的第一预设时间内,获取到100次无效查杀次数,通过比较可知,无效查杀次数大于预设次数。
S130、当无效查杀次数大于或等于预设次数时,降低调整阈值。
如图3所示,当无效查杀次数大于或等于预设次数时,内核内存仍不足,因此查杀进程仍试图对调整值超出调整阈值的应用进程进行查杀,而此时查杀进程对超出调整阈值的应用进程的查杀为无效查杀,说明LMKD机制存在问题,可以通过降低调整阈值来解决上述无效查杀的问题。
在一些实施例中,在LMKD机制中,本申请的调整阈值可以是oom_adj threshold,调整阈值可以根据内核剩余内存确定,内核剩余内存越大,调整阈值越大;反之,则越小。
在一些实施例中,如图3所示,当无效查杀次数小于预设次数时,可以认为LMKD机制未出现问题,查杀进程结束查杀。
S140、对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
降低调整阈值后,查杀进程需查杀的应用进程增多,查杀进程可重新对调整值高于调整阈值的应用进程进行查杀,以增大内核剩余内存。
在一些实施例中,在LMKD机制中,本申请的调整值可以是oom_adj,调整值用于表征应用进程的重要程度,应用进程的重要程度越低,其调整值的数值越高,越优先被查杀。
示例的,多种应用进程的调整值范围为0~100,原来的调整阈值为90,查杀进程可对调整值高于90的应用进程进行查杀;通过步骤S110~S130确定降低后的调整阈值为80,可再次对调整值高于80的应用进程进行查杀。
本申请实施例提供一种应用进程查杀方法,通过获取第一预设时间内的无效查杀次数,并根据无效查杀次数与预设次数的比较结果,确定LMKD机制是否正常,若无效查杀次数大于或等于预设次数,则说明LMKD机制出现问题,内核内存压力仍然较大。基于此,本申请可以在无效查杀次数大于或等于预设次数时,降低调整阈值,以利用查杀进程对更多应用进程进行查杀,从而增大内核剩余内存,解决背景技术以及相关技术中电子设备卡顿、死机、重启的问题,提高用户体验。
如图4所示,本申请实施例提供了一种应用进程的查杀方法,该方法包括:
S110、获取第一预设时间内的无效查杀次数。
S120、将无效查杀次数与预设次数进行比较。
S131、当无效查杀次数大于或等于预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值。
在无效查杀次数大于或等于预设次数的情况下,还可以根据内核内存压力和/或内外核数据传输压力,确定是否降低调整阈值,进而通过查杀进程再次对调整值高于调整阈值的应用进程进行查杀。
在一些实施例中,当无效查杀次数大于或等于预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值,可以包括以下五种情况:
第一种情况,如图5所示,当无效查杀次数大于或等于预设次数时,获取内核内存压力,若确定内核内存压力大于第一预设压力,降低调整阈值。
即,在无效查杀次数大于或等于预设次数,且内核内存压力大于第一预设压力时,降低调整阈值。此过程中,未获取内外核数据传输压力。
第二种情况,如图6所示,获取内外核数据传输压力,当无效查杀次数大于或等于预设次数时,若确定内外核数据传输压力大于第二预设压力,降低调整阈值。
即,在无效查杀次数大于或等于预设次数,且内外核数据传输压力大于第二预设压力时,降低调整阈值。此过程中,未获取内核内存压力。
第三种情况,如图7所示,当无效查杀次数大于或等于预设次数时,获取内核内存压力和内外核数据传输压力,若确定内核内存压力大于第一预设压力,且内外核数据传输压力大于第二预设压力,降低调整阈值。
即,在无效查杀次数大于或等于预设次数,且内核内存压力大于第一预设压力、内外核数据传输压力大于第二预设压力时,降低调整阈值。此过程中,获取内核内存压力以及内外核数据传输压力。本申请不对获取内核内存压力以及内外核数据传输压力的顺序进行限定,可以先获取内核内存压力、后获取内外核数据传输压力,或者,也可以先获取内外核数据传输压力、后获取内核内存压力,或者,也可以同时获取内核内存压力以及内外核数据传输压力。
第四种情况,如图8所示,当无效查杀次数大于或等于预设次数时,获取内核内存压力;当内核内存压力小于或等于第一预设压力时,获取内外核数据传输压力;若确定内外核数据传输压力大于第二预设压力,降低调整阈值。
即,当无效查杀次数大于或等于预设次数时,先获取内核内存压力,但内核内存压力小于或等于第一预设压力;再获取内外核数据传输压力,若确定内外核数据传输压力大于第二预设压力,降低调整阈值。
第五种情况,如图9所示,当无效查杀次数大于或等于预设次数时,获取内外核数据传输压力;当内外核数据传输压力小于或等于第二预设压力时,获取内核内存压力;若确定内核内存压力大于第一预设压力,降低调整阈值。
即,当无效查杀次数大于或等于预设次数时,先获取内外核数据传输压力,但内外核数据传输压力小于或等于第二预设压力;再获取内核内存压力,若确定内核内存压力大于第一预设压力,降低调整阈值。
在一些实施例中,内核内存压力可以为电子设备的内核当前所承受的压力,内核内存压力可以通过内核剩余内存等信息表征。
示例的,若以内核剩余内存表征内核内存压力,则内核剩余内存越多,内核内存压力越小;内核剩余内存越少,内核内存压力越大。
在一些实施例中,不对第一预设压力的具体数值进行限定,可以根据内核内存压力以及应用进程的运行情况设定。
在一些实施例中,内外核数据传输压力可以表征电子设备的内核与外核之间传输数据的能力,内外核数据传输压力越大,内核与外核之间传输数据的能力越低;内外核数据传输压力越小,内核与外核之间传输数据的能力越高。
在一些实施例中,不对第二预设压力的具体数值进行限定,可以根据内外核数据传输压力以及应用进程的运行情况设定。
在一些实施例中,在应用进程运行的过程中,内核与外核之间可以根据需求实时传输数据,每一时间点内外核数据传输压力的大小可能不同,因此,系统可以实时读取内外核数据传输总压力,内外核数据传输总压力与读取总时间的比值,即为当前内外核数据传输压力。
S140、对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
本申请实施例中步骤S110、S120以及S140的解释说明,与前述实施例步骤S110、S120以及S140的解释说明相同,在此不再赘述。
本申请实施例提供一种应用进程查杀方法,在无效查杀次数大于或等于预设次数的情况下,还可以通过内核内存压力和/或内外核数据传输压力,确定是否降低调整阈值,以避免仅通过无效查杀次数确定调整阈值,导致出现误查杀的现象。在此基础上,相较于仅根据无效查杀次数确定降低后的调整阈值的数值,本申请实施例可以根据内核内存压力和/或内外核数据传输压力、以及无效查杀次数共同确定降低后的调整阈值的数值,可以使降低后的调整阈值的数值更加准确,从而使查杀进程更加精确地对调整值高于调整阈值的查杀进程进行查杀。
如图10所示,内核内存包括第一内核剩余内存以及应用进程中空进程所占的内存之和。对于前述实施例的第一种情况、第三种情况、第四种情况、以及第五种情况,本申请实施例提供了一种应用进程的查杀方法,该方法包括:
S110、获取第一预设时间内的无效查杀次数。
S120、将无效查杀次数与预设次数进行比较。
S1311、当无效查杀次数大于或等于预设次数时,获取内核剩余内存,作为第一内核剩余内存。
如图11所示,在无效查杀次数大于或等于预设次数的情况下,首先获取第一内核剩余内存,以第一内核剩余内存作为判断的内核内存压力的参考标准之一。
S1312、将第一内核剩余内存与预设内存进行比较。
通过对第一内核剩余内存与预设内存进行比较,判定第一内核剩余内存是否充足。
在一些实施例中,不对预设内存的具体内存容量进行限定,可以根据应用进程的运行情况设定预设内存。
示例的,预设内存可以为500M。
S1313、当第一内核剩余内存小于预设内存时,回收空进程中的缓存文件。
当第一内核剩余内存小于预设内存时,可以认为第一内核剩余内存不足以支撑各个应用进程运行,此时可以回收空进程中的缓存文件。
示例的,预设内存为500M,第一内核剩余内存为400M,可以回收空进程中的缓存文件。
在一些实施例中,空进程中的缓存文件可以是用户前次使用应用进程时,对应用进程所做的修改,这些修改可以以缓存文件的形式存储在外核,在用户下次使用该应用进程时,这些缓存文件可以快速响应,从外核传输到内核,以方便用户使用。
在第一内核剩余内存大于或等于预设内存的情况下,空进程中的缓存文件可以不被回收;在第一内核剩余内存小于预设内存的情况下,由于空进程中的缓存文件的回收速度较快,因此,查杀进程可以优先对空进程中的缓存文件进行查杀。
S1314、获取内核内存以及回收缓存文件的回收时间,作为内核内存压力的表征值。
在对空进程中的缓存文件进行回收的过程中,还可以考虑回收缓存文件的回收时间,避免在内核内存不足时,对缓存文件进行无限回收,而未通过降低调整阈值查杀更多应用进程,使整个查杀过程进入死循环。
如图11所示,可以在确定第一内核剩余内存小于预设内存,开始回收空进程中的缓存文件时,记录时间为时间戳1,不断对缓存文件进行回收,并记录每次回收后的时间为时间戳2,直至内核内存大于或等于预设内存,或者直至空进程中的缓存文件全部被回收。该过程可以包括至少一个时间戳2,在时间戳2的个数为多个时,时间戳2以最后一次记录的时间为准。
其中,最后一次记录的时间戳2与时间戳1的差值即为缓存文件的回收时间。
在一些实施例中,在获取缓存文件的回收时间之后,所述方法还可以包括:对回收时间进行复位,避免本次获取的回收时间的相关数据残留,影响查杀进程在下次查杀时,对下次查杀时获取的回收时间误判。
S1315、将内核内存与预设内存进行比较,将回收缓存文件的回收时间与第二预设时间进行比较。
内核内存以及回收时间可以用于表征内核内存压力,可以通过对内核内存与预设内存进行比较、对回收时间与第二预设时间进行比较,确定内核内存压力。
S1316、当内核内存大于或等于预设内存,回收时间小于第二预设时间时,内核内存压力小于第一预设压力。
通过对空进程中的缓存文件进行回收,使得在第二预设时间内空进程中的缓存文件全部被回收,且在回收后,内核内存大于或等于预设内存,可以认为内核内存压力小于第一预设压力。
示例的,预设内存为500M,第二预设时间为10s,空进程中的缓存文件在第8s全部被回收,且在回收后,内核内存为600M,可以认为内核内存压力小于第一预设压力。
S1317、当内核内存大于或等于预设内存,回收时间大于或等于第二预设时间时,内核内存压力大于第一预设压力。
通过对空进程中的缓存文件进行回收,虽然使得内核内存大于或等于预设内存,但回收时间超出第二预设时间,或者,查杀进程始终不能将空进程中的缓存文件全部回收,可以认为缓存文件难以在第二预设时间内全部回收,内核内存压力大于第一预设压力。
示例的,预设内存为500M,第二预设时间为10s,空进程中的缓存文件在第15s全部被回收,且在回收后,内核内存为600M,可以认为缓存文件难以在第二预设时间内全部回收,内核内存压力大于第一预设压力。
S1318、当内核内存小于预设内存时,内核内存压力大于第一预设压力。
对空进程中的缓存文件进行回收后,内核内存仍然小于预设内存,且回收时间超出第二预设时间,或者,查杀进程始终不能将空进程中的缓存文件全部回收,可以认为内核内存压力大于第一预设压力。
示例的,预设内存为500M,第二预设时间为10s,空进程中的缓存文件在第15s全部被回收,且在回收后,内核内存为400M,可以认为内核内存压力大于第一预设压力。
S1319、当内核内存压力大于第一预设压力时,降低调整阈值。
本申请实施例仅举出前述第一种情况的示例,在方案不矛盾的情况下,还可以分别根据步骤S1316~S1318,执行第三种情况、第四种情况、以及第五种情况对应的操作,本申请实施例对此不进行限定。
S140、对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
本申请实施例中步骤S110、S120以及S140的解释说明,与前述实施例步骤S110、S120以及S140的解释说明相同,在此不再赘述。
本申请实施例提供一种应用进程查杀方法,可以在确定第一内核剩余内存小于预设内存的情况下,优先对空进程中的缓存文件进行回收,以快速增大内核内存。通过确定回收后的内核内存以及缓存文件的回收时间,可以确定对缓存文件进行回收后的内核内存压力,进而可根据当前的内核内存压力确定是否降低调整阈值,以进一步对应用进程进行查杀。
如图12所示,本申请实施例提供了一种应用进程的查杀方法,该方法包括:
S101、获取内核剩余内存,作为第二内核剩余内存。
如图13所示,在获取第一预设时间内的无效查杀次数之前,还可以获取电子设备初始的内核剩余内存,该内核剩余内存可作为第二内核剩余内存。
在一些实施例中,查杀进程可以实时获取第二内核剩余内存,以确保第二内核剩余内存不足时,及时对调整值高于调整阈值的应用进程进行查杀。
S102、当第二内核剩余内存小于预设内存时,根据第二内核剩余内存,确定调整阈值。
当第二内核剩余内存小于预设内存时,可以认为当前的第二内核剩余内存不足以使前述应用进程同时运行,因此,需根据第二内核剩余内存,确定调整阈值,以在后续根据调整阈值对应用进程进行查杀,增大第二内核剩余内存。
示例的,预设内存可以为500M,当第二内核剩余内存小于500M时,可以根据第二内核剩余内存确定调整阈值。
S103、对调整值高于调整阈值的应用进程进行预查杀。
在确定第二内核剩余内存小于预设内存后,可以对调整值高于调整阈值的应用进程进行预查杀。对调整值高于调整阈值的应用进程预查杀后,若查杀成功,即,查杀后第二内核剩余内存大于或等于预设内存,则查杀结束;若对调整值高于调整阈值的应用进程查杀失败,或调整值高于调整阈值的应用进程的个数为零,则进入步骤S111。
示例的,根据第二内核剩余内存确定的调整阈值为90,可以对调整值高于90的应用进程进行查杀。
S111、当对调整值高于调整阈值的应用进程查杀失败,或调整值高于调整阈值的应用进程的个数为零时,获取第一预设时间内的无效查杀次数。
当多种应用进程中包括调整值高于调整阈值的应用进程、但查杀进程未能成功对调整值高于调整阈值的应用进程进行查杀,或者,多种应用进程中不包括调整值高于调整阈值的应用进程时,查杀进程未能通过对调整值高于调整阈值的应用进程进行查杀,而增大第二内核剩余内存,因此,仍需通过本申请实施例降低调整阈值的方式,增大第二内核剩余内存。
其中,多种应用进程中包括调整值高于调整阈值的应用进程、但查杀进程未能成功对调整值高于调整阈值的应用进程进行查杀,可能是由于用户认为阻止查杀进程查杀某些调整值高于调整阈值的应用进程,或者,也可以能是调整值高于调整阈值的应用进程在被查杀的过程中堵塞等等。
S120、将无效查杀次数与预设次数进行比较。
S131、当无效查杀次数大于或等于预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值。
S140、对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
本申请实施例中步骤S120、S131、以及S140的解释说明,与前述实施例步骤S120、S131、以及S140的解释说明相同,在此不再赘述。
本申请实施例提供一种应用进程的查杀方法,可在获取无效查杀次数之前,根据第一内核剩余内存对调整值高于调整阈值的应用进程进行查杀,之后,若无效查杀次数仍然大于预设次数,可通过降低调整阈值的方式,进一步对调整值高于调整阈值的应用进程进行查杀。
如图14所示,其示出了本申请另一实施例提供的一种应用进程查杀装置100的结构框图,该应用进程查杀装置100包括获取模块101以及处理模块102。
获取模块101,用于获取第一预设时间内的无效查杀次数。
处理模块102,用于将无效查杀次数与预设次数进行比较。
处理模块102,还用于当所述无效查杀次数大于所述预设次数时,降低调整阈值。
处理模块102,还用于对调整值高于调整阈值的应用进程进行查杀,调整值用于表征应用进程的重要程度。
在此基础上,处理模块102还用于当无效查杀次数大于或等于预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值。具体包括:
获取模块101还用于当无效查杀次数大于或等于预设次数时,获取内核内存压力;处理模块102还用于若确定内核内存压力大于第一预设压力,降低调整阈值。
或者,获取模块101还用于当无效查杀次数大于或等于预设次数时,获取内外核数据传输压力;处理模块102还用于若确定内外核数据传输压力大于第二预设压力,降低调整阈值。
或者,获取模块101还用于当无效查杀次数大于或等于所述预设次数时,获取内核内存压力和内外核数据传输压力;处理模块102还用于若确定内核内存压力大于第一预设压力,且内外核数据传输压力大于第二预设压力,降低调整阈值。
或者,获取模块101还用于当无效查杀次数大于或等于预设次数时,获取内核内存压力,当内核内存压力小于或等于第一预设压力时,获取内外核数据传输压力;处理模块102还用于若确定内外核数据传输压力大于第二预设压力,降低调整阈值。
或者,获取模块101还用于当无效查杀次数大于或等于预设次数时,获取内外核数据传输压力,当内外核数据传输压力小于或等于第二预设压力时,获取内核内存压力;处理模块102还用于若确定内核内存压力大于第一预设压力,降低调整阈值。
获取模块101还用于获取内核剩余内存,作为第一内核剩余内存;处理模块102还用于将第一内核剩余内存与预设内存进行比较,当第一内核剩余内存小于预设内存时,回收空进程中的缓存文件;获取模块101还用于获取内核内存以及回收缓存文件的回收时间,作为内核内存压力的表征值。
处理模块102还用于将所述内核内存与预设内存进行比较,将回收缓存文件的回收时间与第二预设时间进行比较,当内核内存大于或等于预设内存,所回收时间小于第二预设时间时,内核内存压力小于第一预设压力,当内核内存大于或等于预设内存,回收时间大于或等于第二预设时间时,内核内存压力大于所述第一预设压力,当内核内存小于预设内存时,内核内存压力大于第一预设压力。
处理模块102还用于对回收时间进行复位。
获取模块101还用于获取内核剩余内存,作为第二内核剩余内存;处理模块102还用于当第二内核剩余内存小于预设内存时,根据第二内核剩余内存,确定调整阈值;对调整值高于调整阈值的应用进程进行预查杀;获取模块101还用于当对调整值高于调整阈值的所述应用进程查杀失败,或调整值高于调整阈值的应用进程的个数为零时,获取第一预设时间内的无效查杀次数。
本申请实施例提供一种应用进程查杀装置100,应用进程查杀装置100包括获取模块101以及处理模块102。应用进程查杀装置100的解释说明以及有益效果与前述实施例的解释说明以及有益效果相同,在此不再赘述。
如图15所示,其示出了本申请另一实施例提供的一种电子设备200的结构框图,该电子设备200可以是手机、电脑、智能穿戴设备、移动电源(如充电宝)等能够运行应用程序且具有充电功能的电子设备200。本申请的电子设备200可以包括:一个或多个处理器201、存储器202、一个或多个应用程序203。其中一个或多个应用程序203被存储在存储器202中并被配置为由所述一个或多个处理器201执行,一个或多个应用程序203用于执行前述任一实施例所述的方法。
处理器201可以包括一个或者多个处理核。处理器201利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器202内的指令、程序、代码集或指令集,以及调用存储在存储器202内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器201可以采用数字信号处理(Digital Signal Processing,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(Programmable Logic Array,简称PLA)中的至少一种硬件形式来实现。处理器201可集成中央处理器(Central Processing Unit,简称CPU)、图像处理器(Graphics ProcessingUnit,简称GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器201中,单独通过一块通信芯片进行实现。
存储器202可以包括随机存储器(Random Access Memory,简称RAM),也可以包括只读存储器(Read-Only Memory,简称ROM)。存储器202可用于存储指令、程序、代码、代码集或指令集。存储器202可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备200在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
本申请实施例提供一种电子设备200,电子设备200的解释说明以及有益效果与前述实施例的解释说明以及有益效果相同,在此不再赘述。
如图16所示,其示出了本申请另一实施例提供的一种计算机可读存储介质300的结构框图。该计算机可读存储介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选的,计算机可读存储介质300包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。
计算机可读存储介质300具有执行上述方法中的任何方法步骤的应用程序203的存储空间。这些应用程序203可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。应用程序203可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种应用进程的查杀方法,其特征在于,包括:
获取第一预设时间内的无效查杀次数,所述无效查杀为查杀进程未能通过对调整值高于调整阈值的应用进程进行查杀而使查杀后的内核剩余内存大于或等于预设内存;
将所述无效查杀次数与预设次数进行比较;
当所述无效查杀次数大于或等于所述预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值,所述内核内存压力与所述内核剩余内存呈负相关,所述内外核数据传输压力与内核和外核之间传输数据的能力呈负相关;
对调整值高于所述调整阈值的应用进程进行查杀,所述调整值用于表征所述应用进程的重要程度。
2.根据权利要求1所述的方法,其特征在于,所述当所述无效查杀次数大于或等于所述预设次数时,降低调整阈值,包括:
当所述无效查杀次数大于或等于所述预设次数时,获取内核内存压力,若确定所述内核内存压力大于第一预设压力,降低所述调整阈值;或者,
当所述无效查杀次数大于或等于所述预设次数时,获取内外核数据传输压力,若确定所述内外核数据传输压力大于第二预设压力,降低所述调整阈值;或者,
当所述无效查杀次数大于或等于所述预设次数时,获取内核内存压力和内外核数据传输压力,若确定所述内核内存压力大于所述第一预设压力,且所述内外核数据传输压力大于所述第二预设压力,降低所述调整阈值。
3.根据权利要求1所述的方法,其特征在于,所述当所述无效查杀次数大于或等于所述预设次数时,降低调整阈值,包括:
当所述无效查杀次数大于或等于所述预设次数时,获取内核内存压力;
当所述内核内存压力小于或等于第一预设压力时,获取内外核数据传输压力;
若确定所述内外核数据传输压力大于第二预设压力,降低所述调整阈值。
4.根据权利要求1所述的方法,其特征在于,所述当所述无效查杀次数大于或等于所述预设次数时,降低调整阈值,包括:
当所述无效查杀次数大于或等于所述预设次数时,获取所述内外核数据传输压力;
当所述内外核数据传输压力小于或等于第二预设压力时,获取内核内存压力;
若确定所述内核内存压力大于第一预设压力,降低所述调整阈值。
5.根据权利要求2-4任一项所述的方法,其特征在于,内核内存包括第一内核剩余内存以及所述应用进程中空进程所占的内存之和;所述获取内核内存压力,包括:
获取内核剩余内存,作为所述第一内核剩余内存;
将所述第一内核剩余内存与预设内存进行比较;
当所述第一内核剩余内存小于所述预设内存时,回收所述空进程中的缓存文件;
获取所述内核内存以及回收所述缓存文件的回收时间,作为所述内核内存压力的表征值。
6.根据权利要求5所述的方法,其特征在于,确定所述内核内存压力是否大于第一预设压力,包括:
将所述内核内存与预设内存进行比较,将回收所述缓存文件的回收时间与第二预设时间进行比较;
当所述内核内存大于或等于所述预设内存,所述回收时间小于所述第二预设时间时,所述内核内存压力小于所述第一预设压力;
当所述内核内存大于或等于所述预设内存,所述回收时间大于或等于所述第二预设时间时,所述内核内存压力大于所述第一预设压力;
当所述内核内存小于所述预设内存时,所述内核内存压力大于所述第一预设压力。
7.根据权利要求5所述的方法,其特征在于,所述获取所述内核内存以及回收所述缓存文件的回收时间之后,所述方法还包括:对所述回收时间进行复位。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述获取第一预设时间内的无效查杀次数之前,所述方法还包括:
获取内核剩余内存,作为第二内核剩余内存;
当所述第二内核剩余内存小于预设内存时,根据所述第二内核剩余内存,确定所述调整阈值;
对所述调整值高于所述调整阈值的所述应用进程进行预查杀;
所述获取第一预设时间内的无效查杀次数,包括:
当对调整值高于所述调整阈值的所述应用进程查杀失败,或调整值高于所述调整阈值的所述应用进程的个数为零时,获取所述第一预设时间内的无效查杀次数。
9.一种应用进程查杀装置,其特征在于,包括:
获取模块,用于获取第一预设时间内的无效查杀次数,所述无效查杀为查杀进程未能通过对调整值高于调整阈值的应用进程进行查杀而使查杀后的内核剩余内存大于或等于预设内存;
处理模块,用于将所述无效查杀次数与预设次数进行比较;
所述处理模块,还用于当所述无效查杀次数大于所述预设次数时,根据内核内存压力和/或内外核数据传输压力,降低调整阈值,所述内核内存压力与所述内核剩余内存呈负相关,所述内外核数据传输压力与内核和外核之间传输数据的能力呈负相关;
所述处理模块,还用于对调整值高于所述调整阈值的应用进程进行查杀,所述调整值用于表征所述应用进程的重要程度。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;以及,
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行权利要求1-8任一项所述的方法。
11.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-8任一项所述的方法。
CN202011359763.7A 2020-11-27 2020-11-27 应用进程的查杀方法、装置、电子设备及存储介质 Active CN112363841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011359763.7A CN112363841B (zh) 2020-11-27 2020-11-27 应用进程的查杀方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011359763.7A CN112363841B (zh) 2020-11-27 2020-11-27 应用进程的查杀方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112363841A CN112363841A (zh) 2021-02-12
CN112363841B true CN112363841B (zh) 2022-11-04

Family

ID=74535415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011359763.7A Active CN112363841B (zh) 2020-11-27 2020-11-27 应用进程的查杀方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112363841B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115437783B (zh) * 2022-08-17 2023-08-04 荣耀终端有限公司 一种查杀方法、电子设备及可读存储介质
CN117130767A (zh) * 2023-02-08 2023-11-28 荣耀终端有限公司 回收内存的方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861812A (zh) * 2017-10-30 2018-03-30 江西博瑞彤芸科技有限公司 一种内存清理方法
CN108205474A (zh) * 2017-08-23 2018-06-26 珠海市魅族科技有限公司 内存管理方法、终端设备、计算机装置以及可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5708049B2 (ja) * 2011-03-07 2015-04-30 株式会社リコー 情報処理装置、制御方法、制御プログラム、及び記録媒体
US20120324481A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co. Ltd. Adaptive termination and pre-launching policy for improving application startup time
US9645873B2 (en) * 2013-06-03 2017-05-09 Red Hat, Inc. Integrated configuration management and monitoring for computer systems
CN106250216A (zh) * 2016-07-21 2016-12-21 宇龙计算机通信科技(深圳)有限公司 一种清理内存的方法及终端
CN106844159A (zh) * 2017-02-03 2017-06-13 广东欧珀移动通信有限公司 一种信息获取方法、装置及智能终端
CN107168792A (zh) * 2017-04-24 2017-09-15 宇龙计算机通信科技(深圳)有限公司 一种进程管理方法、及终端设备
CN107832100B (zh) * 2017-10-27 2020-12-04 平安普惠企业管理有限公司 一种apk插件的加载方法及其终端
CN110532197B (zh) * 2019-08-30 2022-03-01 Oppo(重庆)智能科技有限公司 内存回收方法及装置、电子设备、存储介质
CN110764906B (zh) * 2019-09-27 2022-06-17 Oppo(重庆)智能科技有限公司 内存回收处理方法、装置、电子设备以及存储介质
CN110737606B (zh) * 2019-09-27 2022-06-21 Oppo(重庆)智能科技有限公司 内存回收处理方法、装置、电子设备以及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205474A (zh) * 2017-08-23 2018-06-26 珠海市魅族科技有限公司 内存管理方法、终端设备、计算机装置以及可读存储介质
CN107861812A (zh) * 2017-10-30 2018-03-30 江西博瑞彤芸科技有限公司 一种内存清理方法

Also Published As

Publication number Publication date
CN112363841A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN107832100B (zh) 一种apk插件的加载方法及其终端
WO2017185616A1 (zh) 文件存储方法及电子设备
CN112363841B (zh) 应用进程的查杀方法、装置、电子设备及存储介质
US20140222947A1 (en) Method and apparatus for browsings webpages, and storage medium
CN109684008B (zh) 卡片渲染方法、装置、终端及计算机可读存储介质
WO2017219524A1 (zh) 一种页面保存的方法及电子设备
CN110113315B (zh) 一种业务数据的处理方法及设备
CN111008348A (zh) 反爬虫方法、终端、服务器及计算机可读存储介质
CN107798064B (zh) 页面处理方法、电子设备及计算机可读存储介质
CN114257551A (zh) 一种分布式限流的方法及系统、存储介质
US20170308546A1 (en) File storage method and electronic device
CN106569917B (zh) 一种数据备份方法及移动移动终端
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
CN112507167A (zh) 一种识别视频合集的方法、装置、电子设备及存储介质
CN108509322B (zh) 避免过度回访的方法、电子装置及计算机可读存储介质
CN112199175B (zh) 一种任务队列生成方法、装置及设备
CN113163255B (zh) 视频播放方法、装置、终端及存储介质
CN111124470A (zh) 基于云平台的程序包自动优化方法及装置
CN112416496A (zh) 页面展示方法、装置及存储介质
CN112286559A (zh) 一种车载智能终端的升级方法及装置
CN110020290B (zh) 网页资源缓存方法、装置、存储介质及电子装置
CN107341255B (zh) 键值数据处理方法、装置及电子设备
EP3748493A1 (en) Method and device for downloading installation-free application
CN112433779B (zh) 基于erp系统的应用站点预加载方法、设备和存储介质
CN113348655B (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