CN107957950B - 一种系统资源泄露的检测方法和装置 - Google Patents

一种系统资源泄露的检测方法和装置 Download PDF

Info

Publication number
CN107957950B
CN107957950B CN201711296059.XA CN201711296059A CN107957950B CN 107957950 B CN107957950 B CN 107957950B CN 201711296059 A CN201711296059 A CN 201711296059A CN 107957950 B CN107957950 B CN 107957950B
Authority
CN
China
Prior art keywords
resource
target process
preset
processes
utilization rate
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
CN201711296059.XA
Other languages
English (en)
Other versions
CN107957950A (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201711296059.XA priority Critical patent/CN107957950B/zh
Publication of CN107957950A publication Critical patent/CN107957950A/zh
Application granted granted Critical
Publication of CN107957950B publication Critical patent/CN107957950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种系统资源泄露的检测方法和装置,涉及计算机应用技术领域,能够减少资源泄露进程的误判情况。包括:获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准;后在第二预设时间段后连续获取多次所有进程对第一资源的总利用率,并将最后一次获取的数据作为第一比例;当每一次获取的总利用率均大于第一预设百分比时获取当前目标进程对第一资源的利用率作为自身的第二比例;当第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值满足第一预设条件,确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。

Description

一种系统资源泄露的检测方法和装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种系统资源泄露的检测方法和装置。
背景技术
随着计算机技术的发展,在Linux操作系统中,多任务及多处理器技术应用已经非常广泛。所述多任务是指在计算机中多个程序能同时运行,计算机中的程序的运行的形态称之为进程(process),每一个进程包含多个线程(Threads);进程在运行过程中,需要依赖于计算机系统的内存、句柄(handle)、CPU(Central Processing Unit,中央处理器)等资源。由于编码或者是系统问题,进程在过程中可能会出现系统资源泄漏(进程任务已经完成,但是未释放上一次所申请的系统资源,下一次任务过来时,又继续申请新的资源,造成系统资源被该进程大量占用,剩余可用的系统资源的匮乏,这种现象称之为资源泄漏),系统资源泄漏每次可能只会泄露一点,在软件产品内部测试时可能不易发现,当软件产品长时间运行时,就有可能出现整体计算机的系统资源不足,最终导致整个系统瘫痪。而现有技术中,为了检测系统资源泄露,在基于linux内核的计算机系统中实现了lmk(Low MemoryKiller,低内存管理)静态检测系统内存使用率,当系统剩余的内存低于某个水线(系统总内存的预设百分比)时,就重启当前内存使用率最高的进程,以期使得内存得以恢复。但是这种检测方法无法保证当前内存使用率最高的进程就是故障进程(一些进程由于业务的需要,必须占用大量的内存资源,这是一种正常现象),一旦产生误判,不但影响了正常业务,同时也无法恢复系统内存,最终仍然会出现整个系统瘫痪。
发明内容
本发明的实施例提供一种系统资源泄露的检测方法和装置,能够减少资源泄露进程的误判情况。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种系统资源泄露的检测方法,包括:获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准,第一资源包括系统内存和CPU;目标进程为系统中任一进程;
在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;
当确定第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;
判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件,若满足,则确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
可选的,还包括:获取系统中至少一个目标进程对第二资源的利用量;第二资源包括句柄和线程;
当系统中目标进程对第二资源的利用量满足第二预设条件时,确定目标进程为资源泄露进程,控制资源泄露进程重启。
可选的,获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准包括:
在系统启动第一预设时间段后连续获取第一预设次数的目标进程对第一资源的利用率以及第一预设次数的所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;计算所有进程第一预设次数的对第一资源的总利用率的平均值作为所有进程对第一资源的总利用率的第一基准,同时计算目标进程的第一预设次数的对第一资源的利用率的平均值作为目标进程的第二基准。
可选的,还包括:当确定第二预设次数的所有进程对第一资源的总利用率不全大于第一预设百分比时,在第二预设时间段后重新连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例,其中,每相邻两次获取的时间间隔为第四预设时间段。
可选的,当第一资源为系统内存时,当确定第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值满足第一预设条件时,确定目标进程为资源泄露进程包括:
当第一比例减第一基准的差值占第一比例的占比超过第二预设百分比时,则判断目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比是否大于第三预设百分比,若目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第三预设百分比,则确定目标进程为资源泄露进程。
可选的,当第一资源为CPU时,判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件之前还包括:判断目标进程的第二比例是否大于第四预设百分比,若目标进程的第二比例大于第四预设百分比则确定目标进程为资源泄露进程,若目标进程的第二比例不大于第四预设百分比则判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件;
当确定第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值满足第一预设条件时,确定目标进程为资源泄露进程包括:当确定目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第五预设百分比时,确定目标进程为资源泄露进程。
可选的,在控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启后还包括:第五预设时间段后重新获取第一进程对第一资源的利用率的第二基准。
可选的,在控制资源泄露进程重启后还包括:第五预设时间段后重新获取资源泄露进程对第二资源的利用量。
可选的,当第一进程无法重启时还包括:按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
可选的,方法还包括:当资源泄露进程重启失败时,下一检测周期重新重启资源泄露进程。
第二方面,提供一种系统资源泄露的检测装置,包括:获取模块、判断模块和处理模块;
获取模块,用于获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标对第一资源的利用率的第二基准;第一资源包括系统内存和CPU;目标进程为系统中任一进程;
获取模块还用于在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;
获取模块还用于在判断模块确定获取模块获取的第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;
判断模块还用于判断获取模块获取的第一比例和获取模块获取的第一基准的差值以及获取模块获取的目标进程的第二比例和获取模块获取的目标进程的第二基准的差值是否满足第一预设条件;
当判断模块确定获取模块获取的第一比例和获取模块获取的第一基准的差值以及获取模块获取的目标进程的第二比例和获取模块获取的目标进程第二基准的差值满足第一预设条件时,则判断模块确定目标进程为资源泄露进程;
当判断模块确定目标进程为资源泄露进程时,处理模块用于控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
可选的,获取模块还用于获取系统中至少一个目标进程对第二资源的利用量;第二资源包括句柄和线程;判断模块还用于当确定获取模块获取的系统中目标进程的第二资源利用量满足第二预设条件时,确定目标进程为资源泄露进程;处理模块还用于在判断模块确定目标进程为资源泄露进程时,控制资源泄露进程重启。
可选的,获取模块具体用于:在系统启动第一预设时间段后连续获取第一预设次数的目标进程对第一资源的利用率以及第一预设次数的所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;
计算所有进程第一预设次数的对第一资源的总利用率的平均值作为所有进程对第一资源的总利用率的第一基准,同时计算目标进程的第一预设次数的对第一资源的利用率的平均值作为目标进程的第二基准。
可选的,获取模块还用于在判断模块确定获取模块获取的第二预设次数的所有进程对第一资源的总利用率不全大于第一预设百分比时,在第二预设时间段后重新连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例,其中,相邻两次获取的时间间隔为第四预设时间段。
可选的,当第一资源为系统内存时,当判断模块确定第一比例减第一基准的差值占第一比例的占比超过第二预设百分比时,则判断模块还用于判断目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比是否大于第三预设百分比,若判断模块确定目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第三预设百分比,则判断模块确定目标进程为资源泄露进程。
可选的,当第一资源为CPU时,判断模块还用于在判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件之前,判断目标进程的第二比例是否大于第四预设百分比,若判断模块确定目标进程的第二比例大于第四预设百分比则判断模块确定目标进程为资源泄露进程,若判断模块确定目标进程的第二比例不大于第四预设百分比则判断模块判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件;
当判断模块确定第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值满足第一预设条件时,判断模块确定目标进程为资源泄露进程;第一预设条件为目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第五预设百分比。
可选的,获取模块还用于在处理模块控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启后,在第五预设时间段后重新获取第一进程对第一资源的利用率的第二基准。
可选的,获取模块还用于在处理模块控制资源泄露进程重启后,在第五预设时间段后重新获取资源泄露进程对第二资源的利用量。
可选的,当处理模块无法重启第一进程时,处理模块还用于按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
可选的,当处理模块无法重启资源泄露进程时,下一检测周期处理模块重新重启资源泄露进程。
第三方面,提供一种计算可读存储介质,包括一个或多个程序,该程序在被计算机执行时使计算机执行如第一方面提供的系统资源泄露的检测方法。
本发明实施例提供的系统资源泄露的检测方法和装置,该方法包括:获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准,第一资源包括系统内存和CPU;目标进程为系统中任一进程;在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率作为,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;当确定第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件,若满足,则确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。因为本发明实施例提供的方案中,在获取了所有进程对系统资源的利用率和每一个进程对系统资源的利用率后,使用各个进程对资源使用率的增量的方法来确定,当某一进程的对资源消耗的增量和所有进程对资源消耗的增量满足一定条件时才确定该进程为资源泄露进程,这避免了现有技术中所有资源均根据资源水线来判断某一进程是否对资源造成泄露而造成的误判现象;所以本发明实施例提供的方案能够明显减少资源泄露判断时的误判情况,进一步的,本发明实施例提供的方案在检测出资源泄露的进程后还能自动的重启应该重启的进程,更有效的增大系统的可靠性和稳定性,避免系统因资源泄露而崩溃。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统资源泄露的检测方法的流程示意图;
图2为本发明另一实施例提供的一种系统资源泄露的检测方法流程示意图;
图3为本发明另一实施例提供的又一种系统资源泄露的检测方法的流程示意图;
图4为本发明再一实施例提供的一种系统资源泄露的检测方法的流程示意图;
图5为本发明再一实施例提供的又一种系统资源泄露的检测方法的流程示意图;
图6为本发明实施例提供的一种系统资源泄露的检测装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
还需要说明的是,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
现有技术中对于计算机系统的资源泄露的检测只是针对每一个进程设立一个资源水线(总资源或总资源的一定百分比),当某一进程使用的资源超过资源水线时,则确定该进程为造成资源泄露的进程,但是在某些特殊应用中,进程使用的资源超过资源水线是属于正常现象的,这就造成了故障进程的错误判断。
针对上述问题,参照图1所示,本发明实施例提供一种系统资源泄露的检测方法,包括:
101、获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准。
其中,目标进程为系统中任一进程;因为实际中计算机系统的资源泄情况判断中,系统内存资源和CPU资源是最容易造成误判的,而其余如句柄、线程等资源都有其硬性水线规定,所以这里第一资源包括系统内存和CPU,当然,以后若出现特殊情况较多的资源也属于这里的第一资源;
具体的,因为资源利用率是会随时间产生变化的,所以如果只取瞬时的一个资源利用率,判断结果会不准确,所以101步骤优选的包括:
S1、在系统启动第一预设时间段后连续获取第一预设次数的目标进程对第一资源的利用率以及第一预设次数的所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;其中,因为计算机开机后,系统的运行需要一定时间后才能稳定下来,在系统未稳定时做出的判断是不准确的,所以这里需要在系统启动后第一预设时间段后再进行数据的采集,示例性的,第一预设时间段为1小时,预设次数为六次,第三预设时间段为1分钟。
S2、计算所有进程第一预设次数的对第一资源的总利用率的平均值作为所有进程对第一资源的总利用率的第一基准,同时计算目标进程的第一预设次数的对第一资源的利用率的平均值作为目标进程的第二基准。
102、在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例。
具体的,因为需要获取同一进程对资源的利用率增量,所以这里需要在第二预设时间段后等进程运行一会资源使用量产生改变后重新获取利用率;因为只有当所有进程对第一资源的总利用率连续多次超过一定比例后才能更准确的保证后续对于资源泄露进程的判断不会出现误判情况,所以这里需要获取多次所有进程对第一资源的总利用率;另外,因为只有最后一次获取的总利用率是最新的,用其作为第一比例参与后续判断才更为准确,所以这里讲最后一次获取的总利用率作为第一比例。
103、当确定第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例。
示例性的,当第一资源为系统内存时第一预设百分比为90%,当第一资源为CPU时第一预设百分比为85%。
104、判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件。
当满足时,执行105,当不满足时,执行106。
105、确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
可选的,当第一进程为一些系统必须的进程例如操作系统进程等,此时第一进程无法重启,则需要按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
106、流程结束,等下一检测周期再次从101开始执行。
可选的,因为在计算系统的资源中,除了系统内存资源和CPU资源可以照上述方式检测资源泄露以外,如线程和句柄等资源都有硬性的资源水线规定,而且不易产生变化,所以本发明实施例提供的系统资源泄露的检测方法中,还包括:获取系统中至少一个目标进程对第二资源的利用量;第二资源包括句柄和线程;当系统中目标进程对第二资源的利用量满足第二预设条件时,确定目标进程为资源泄露进程,控制资源泄露进程重启。
需要说明的,上述实施例提供的检测方法在实际中是一种程序,在运行过程中会保存最先获取的第一基准和第二基准,如果因为意外程序重启,则会首先查看是否有保存过第一基准和第二基准,有则使用,没有则因为系统此时是稳定的,可以直接获取;另外,该程序实际中会生成一个日志,保存有所有出现资源泄露并能成功重启的进程的信息方便程序管理者使用。
上述实施例提供的系统资源泄露的检测方法,在获取了所有进程对系统资源的利用率和每一个进程对系统资源的利用率后,使用各个进程对资源使用率的增量的方法来确定,当某一进程的对资源消耗的增量和所有进程对资源消耗的增量满足一定条件时才确定该进程为资源泄露进程,这避免了现有技术中所有资源均根据资源水线来判断某一进程是否对资源造成泄露而造成的误判现象;所以本发明实施例提供的方案能够明显减少资源泄露判断时的误判情况,进一步的,本发明实施例提供的方案在检测出资源泄露的进程后还能自动的重启应该重启的进程,更有效的增大系统的可靠性和稳定性,避免系统因资源泄露而崩溃。
为了更清楚详细的说明本发明实施例提供的系统资源泄露的检测方法,下面以四个实施例进行具体说明:
实施例一,参照图2所示,以第一资源为系统内存资源说明,包括:
201、在系统启动第一预设时间段后连续获取第一预设次数的目标进程对系统内存的利用率以及第一预设次数的所有进程对系统内存的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段。
202、计算所有进程第一预设次数的对系统内存的总利用率的平均值作为第一基准m1,同时计算目标进程的第一预设次数的对系统内存的利用率的平均值作为目标进程的第二基准m2。
203、在第二预设时间段后连续获取第二预设次数的所有进程对系统内存的总利用率,并将最后一次获取的所有进程对系统内存的总利用率作为第一比例m3。
其中,每相邻两次获取的时间间隔为第四预设时间段,此处第四预设时间段根据实际需求而定,不做具体限制。
204、判断第二预设次数的所有进程对系统内存的总利用率是否均大于第一预设百分比。
具体的,只有系统内存被使用连续超过一定限度一定次数后才会对资源泄露进行判断;示例性的,第一预设百分比在这里为90%,具体不做限制;
若是,执行205,若否,执行203。
205、获取当前目标进程对系统内存的利用率作为目标进程的第二比例m4。
206、判断第一比例m3减第一基准m1的差值占第一比例m3的占比是否超过第二预设百分比。
若超过,执行207,;若未超过,执行208;示例性的,第二预设百分比为5%。
207、判断目标进程的第二比例m4减目标进程的第二基准m2的差值占第一比例m3减第一基准m1的差值的占比是否大于第三预设百分比。
若是,执行209;若否,执行208;示例性的,第三预设百分比为10%。
208、流程结束,等下一检测周期重新从201步骤开始。
209、确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
具体的,有些进程是系统中必须要存在的,例如操作系统等,所以当第一进程无法重启时,此时需要按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
210、在第五预设时间段后重新获取第一进程对系统内存的利用率的第二基准。
210后执行203;示例性的,因为一般的进程运行20分钟后会趋于稳定,所以这里第五预设时间段为20分钟。
上述实施例提供的方案,在获取到两个基准值即m1和m2后,定期获取系统当前的内存使用率即第一比例m3,若m3大于系统设置的水线(默认90%,可以修订),则获取每个进程当前的内存使用率即第二比例m4,后判断整个系统内存的增量是否超过当前使用率的第二预设百分比5%,若超过5%后,若该进程当前的内存使用率增量大于整个系统增量的第三预设百分比10%,则纳入重启范围。每个进程都按照上述判断,将纳入重启范围的进程做一个比较,重启增量即(m4-m2)为第一的进程。若重启进程失败,则重启增量第二的进程,以此类推。该方案根据增量的绝对值来判断内存是否内存泄漏,并非根据当前内存使用率最高的进程来判断,大大降低误判的风险。
实施例二,参照图3所示,以第一资源为CPU为例进行说明,包括:
301、在系统启动第一预设时间段后连续获取第一预设次数的目标进程对CPU的利用率以及第一预设次数的所有进程对CPU的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段。
302、计算所有进程第一预设次数的对CPU的总利用率的平均值作为第一基准m1,同时计算目标进程的第一预设次数的对CPU的利用率的平均值作为目标进程的第二基准m2。
303、在第二预设时间段后连续获取第二预设次数的所有进程对CPU的总利用率,并将最后一次获取的所有进程对CPU的总利用率作为第一比例m3。
其中,每相邻两次获取的时间间隔为第四预设时间段,此处第四预设时间段根据实际需求而定,不做具体限制。
304、判断第二预设次数的所有进程对CPU的总利用率是否均大于第一预设百分比。
具体的,只有CPU被使用连续多次超过一定限度后才会对资源泄露进行判断;示例性的,第一预设百分比在这里为85%,具体不做限制;
若是,执行305,若否,执行303。
305、获取当前目标进程对CPU的利用率作为目标进程的第二比例m4。
306、判断目标进程的第二比例m4是否大于第四预设百分比。
若是,执行307;若否,执行308;示例性的,第四预设百分比为50%;当一个进程对系统CPU的使用率超过50%时,是不符合规定的,此时该进程是有故障的。
307、确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
307后执行310。
308、判断目标进程的第二比例m4减目标进程的第二基准m2的差值占第一比例m3减第一基准m1的差值的占比是否大于第五预设百分比。
若是,执行309;若否,执行310;示例性的,第五预设比分比为20%;
309、确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
309后执行311。
310、流程结束,等下一检测周期重新从301步骤开始。
311、第五预设时间段后重新获取第一进程对CPU的利用率的第二基准。
311后执行303;示例性的,第五预设时间段为20分钟。
需要说明的是,上述307和309步骤中,有些进程是系统中必须要存在的,例如操作系统等,所以当第一进程无法重启时,此时需要按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
上述实施例提供的方案,在获取到两个基准值即m1和m2后,定期获取系统当前的内存使用率即第一比例m3,若m3大于系统设置的水线(默认85%,可以修订),则获取每个进程当前的内存使用率即第二比例m4,后每个进程的第二比例m4是否超过第四预设百分比50%,若超过50%则纳入重启范围,若未超过50%且该进程当前的内存使用率增量大于整个系统增量的第五预设百分比20%,则纳入重启范围。每个进程都按照上述判断,将纳入重启范围的进程做一个比较,重启增量即(m4-m2)为第一的进程。若重启进程失败,则重启增量第二的进程,以此类推。该方案根据增量的绝对值来判断内存是否内存泄漏,并非根据当前内存使用率最高的进程来判断,大大降低误判的风险。
实施例三,参照图4所示,以第二资源为句柄为例进行说明,包括:
401、获取系统中至少一个目标进程对句柄的利用量。
示例性的,Linux系统中/proc/<pid>/fd/目录下的文件数量为句柄数量。
402、判断目标进程对句柄的利用量是否满足第二预设条件。
若满足,执行403;若不满足,执行404;示例性的,第二预设条件为目标进程对句柄的利用量大于句柄水线值;示例性的,在linux系统中可以通过/proc/pid/limits里面的Max open files的值来获取特定进程的句柄水线。
403、确定目标进程为资源泄露进程,控制资源泄露进程重启。
403后执行405;具体的若无法重启该资源泄露进程,则执行404。
404、流程结束,下一检测周期重新重启该资源泄露进程。
405、在第五预设时间段后重新获取资源泄露进程对句柄的利用量。
405后执行402;示例性的,第五预设时间段为20分钟。
实施例四,参照图5所示,以第二资源为线程为例进行说明,包括:
501、获取系统中至少一个目标进程对线程的利用量。
示例性的,linux系统中/proc/<pid>/status文件中”Threads”字段的值为线程数量。
502、判断目标进程对线程的利用量是否满足第二预设条件。
若满足,执行503;若不满足,执行504;示例性的,第二预设条件为目标进程对线程的利用量大于线程水线值;示例性的,在linux系统中线程水线默认为1000。
503、确定目标进程为资源泄露进程,控制资源泄露进程重启。
503后执行505;具体的若无法重启该资源泄露进程,则执行504。
504、流程结束,下一检测周期重新重启该资源泄露进程。
505、在第五预设时间段后重新获取资源泄露进程对线程的利用量。
505后执行502;示例性的,第五预设时间段为20分钟。
上述第三、四实施例中通过对各个进程对具有固定水线的第二资源的利用量的判定来确定资源泄露进程,在确定成功后进行重启,相比现有技术,添加的重启步骤使得这类固定水线的资源可以自动快捷的重启,避免系统资源的长时间泄露。
综上,本发明实施例提供的系统资源泄露的检测方法,该方法包括:获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标进程对第一资源的利用率的第二基准,第一资源包括系统内存和CPU;目标进程为系统中任一进程;在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;当确定第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件,若满足,则确定目标进程为资源泄露进程,控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。因为本发明实施例提供的方案中,在获取了所有进程对系统资源的利用率和每一个进程对系统资源的利用率后,使用各个进程对资源使用率的增量的方法来确定,当某一进程的对资源消耗的增量和所有进程对资源消耗的增量满足一定条件时才确定该进程为资源泄露进程,这避免了现有技术中所有资源均根据资源水线来判断某一进程是否对资源造成泄露而造成的误判现象;所以本发明实施例提供的方案能够明显减少资源泄露判断时的误判情况,进一步的,本发明实施例提供的方案在检测出资源泄露的进程后还能自动的重启应该重启的进程,更有效的增大系统的可靠性和稳定性,避免系统因资源泄露而崩溃。
参照图6所示,本发明实施例还提供一种系统资源泄露的检测装置01,包括:获取模块61、判断模块62和处理模块63;
获取模块61,用于获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标对第一资源的利用率的第二基准;第一资源包括系统内存和CPU;目标进程为系统中任一进程;
获取模块61还用于在获取第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;
获取模块61还用于在判断模块62确定获取模块61获取的第二预设次数的所有进程对第一资源的总利用率均第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;
判断模块62还用于判断获取模块61获取的第一比例和获取模块61获取的第一基准的差值以及获取模块61获取的目标进程的第二比例和获取模块61获取的目标进程的第二基准的差值是否满足第一预设条件;
当判断模块62确定获取模块61获取的第一比例和获取模块61获取的第一基准的差值以及获取模块61获取的目标进程的第二比例和获取模块61获取的目标进程第二基准的差值满足第一预设条件时,则判断模块62确定目标进程为资源泄露进程;
当判断模块62确定目标进程为资源泄露进程时,处理模块63用于控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。
可选的,获取模块61还用于获取系统中至少一个目标进程对第二资源的利用量;第二资源包括句柄和线程;判断模块62还用于当确定获取模块61获取的系统中目标进程的第二资源利用量满足第二预设条件时,确定目标进程为资源泄露进程;处理模块63还用于在判断模块62确定目标进程为资源泄露进程时,控制资源泄露进程重启。
可选的,获取模块61具体用于:在系统启动第一预设时间段后连续获取第一预设次数的目标进程对第一资源的利用率以及第一预设次数的所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;
计算所有进程第一预设次数的对第一资源的总利用率的平均值作为所有进程对第一资源的总利用率的第一基准,同时计算目标进程的第一预设次数的对第一资源的利用率的平均值作为目标进程的第二基准。
可选的,获取模块61还用于在判断模块62确定获取模块61获取的第二预设次数的所有进程对第一资源的总利用率不全大于第一预设百分比时,在第二预设时间段后重新连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例,其中,相邻两次获取的时间间隔为第四预设时间段。
可选的,当第一资源为系统内存时,当判断模块62确定第一比例减第一基准的差值占第一比例的占比超过第二预设百分比时,则判断模块62还用于判断目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比是否大于第三预设百分比,若判断模块62确定目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第三预设百分比,则判断模块62确定目标进程为资源泄露进程。
可选的,当第一资源为CPU时,判断模块62还用于在判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件之前,判断目标进程的第二比例是否大于第四预设百分比,若判断模块62确定目标进程的第二比例大于第四预设百分比则判断模块62确定目标进程为资源泄露进程,若判断模块62确定目标进程的第二比例不大于第四预设百分比则判断模块62判断第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值是否满足第一预设条件;
当判断模块62确定第一比例和第一基准的差值以及目标进程的第二比例和目标进程的第二基准的差值满足第一预设条件时,判断模块62确定目标进程为资源泄露进程;第一预设条件为目标进程的第二比例减目标进程的第二基准的差值占第一比例减第一基准的差值的占比大于第五预设百分比。
可选的,获取模块61还用于在处理模块63控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启后,在第五预设时间段后重新获取第一进程对第一资源的利用率的第二基准。
可选的,获取模块61还用于在处理模块63控制资源泄露进程重启后,在第五预设时间段后重新获取资源泄露进程对第二资源的利用量。
可选的,当处理模块63无法重启第一进程时,处理模块63还用于按照从大到小的顺序依次将资源泄露进程中除第一进程以外的进程重启,直至重启成功为止。
可选的,当处理模块63无法重启资源泄露进程时,下一检测周期处理模块63重新重启资源泄露进程。
本发明实施例提供的系统资源泄露的检测装置,因为该装置包括:获取模块,用于获取系统中所有进程对第一资源的总利用率的第一基准,获取系统中至少一个目标对第一资源的利用率的第二基准;第一资源包括系统内存和CPU;目标进程为系统中任一进程;获取模块还用于在获取到第一基准和第二基准第二预设时间段后连续获取第二预设次数的所有进程对第一资源的总利用率,并将最后一次获取的所有进程对第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;获取模块还用于在判断模块确定获取模块获取的第二预设次数的所有进程对第一资源的总利用率均大于第一预设百分比时,获取当前目标进程对第一资源的利用率作为目标进程的第二比例;判断模块还用于判断获取模块获取的第一比例和获取模块获取的第一基准的差值以及获取模块获取的目标进程的第二比例和获取模块获取的目标进程的第二基准的差值是否满足第一预设条件;当判断模块确定获取模块获取的第一比例和获取模块获取的第一基准的差值以及获取模块获取的目标进程的第二比例和获取模块获取的目标进程第二基准的差值满足第一预设条件时,则判断模块确定目标进程为资源泄露进程;当判断模块确定目标进程为资源泄露进程时,处理模块用于控制资源泄露进程中第二比例和第二基准的差值最大的第一进程重启。所以本发明实施例提供的方案在对系统资源泄露进行检测时,在获取了所有进程对系统资源的利用率和每一个进程对系统资源的利用率后,使用各个进程对资源使用率的增量的方法来确定,当某一进程的对资源消耗的增量和所有进程对资源消耗的增量满足一定条件时才确定该进程为资源泄露进程,这避免了现有技术中所有资源均根据资源水线来判断某一进程是否对资源造成泄露而造成的误判现象;因而本发明实施例提供的方案能够明显减少资源泄露判断时的误判情况,进一步的,本发明实施例提供的方案在检测出资源泄露的进程后还能自动的重启应该重启的进程,更有效的增大系统的可靠性和稳定性,避免系统因资源泄露而崩溃。
本发明实施例还提供一种计算可读存储介质,包括一个或多个程序,该程序在被计算机执行时使计算机执行如上述实施例提供的系统资源泄露的检测方法。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本发明实施例还提供一种存储介质,该存储介质可以包括存储器,用于储存为预测道路路况的装置所用的计算机软件指令,其包含执行预测道路路况的方法所设计的程序代码。具体的,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本发明实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述的系统资源泄露的检测方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种系统资源泄露的检测方法,其特征在于,包括:
获取所述系统中所有进程对第一资源的总利用率的第一基准,获取所述系统中至少一个目标进程对第一资源的利用率的第二基准,所述第一资源包括系统内存和CPU;所述目标进程为所述系统中任一进程;
在获取到所述第一基准和所述第二基准第二预设时间段后连续获取第二预设次数的所述所有进程对所述第一资源的总利用率,并将最后一次获取的所述所有进程对所述第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;
当确定所述第二预设次数的所述所有进程对所述第一资源的总利用率均大于第一预设百分比时,获取当前所述目标进程对所述第一资源的利用率作为所述目标进程的第二比例;
判断所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值是否满足第一预设条件,若满足,则确定所述目标进程为资源泄露进程,控制所述资源泄露进程中第二比例和第二基准的差值最大的第一进程重启;
当所述第一资源为系统内存时,所述当确定所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值满足第一预设条件时,确定所述目标进程为资源泄露进程包括:当所述第一比例减所述第一基准的差值占所述第一比例的占比超过第二预设百分比时,则判断所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比是否大于第三预设百分比,若所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比大于所述第三预设百分比,则确定所述目标进程为资源泄露进程;
当所述第一资源为CPU时,所述判断所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值是否满足第一预设条件之前还包括:判断所述目标进程的第二比例是否大于第四预设百分比,若所述目标进程的第二比例大于第四预设百分比则确定所述目标进程为资源泄露进程,若所述目标进程的第二比例不大于第四预设百分比则判断所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值是否满足第一预设条件;
当所述第一资源为CPU时,所述当确定所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值满足第一预设条件时,确定所述目标进程为资源泄露进程包括:当确定所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比大于第五预设百分比时,确定所述目标进程为资源泄露进程。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述系统中至少一个目标进程对第二资源的利用量;所述第二资源包括句柄和线程;
当所述系统中所述目标进程对第二资源的利用量满足第二预设条件时,确定所述目标进程为资源泄露进程,控制所述资源泄露进程重启。
3.根据权利要求1所述的方法,其特征在于,所述获取所述系统中所有进程对第一资源的总利用率的第一基准,获取所述系统中至少一个目标进程对第一资源的利用率的第二基准包括:
在所述系统启动第一预设时间段后连续获取第一预设次数的所述目标进程对第一资源的利用率以及第一预设次数的所述所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;
计算所述所有进程第一预设次数的对第一资源的总利用率的平均值作为所述所有进程对第一资源的总利用率的第一基准,同时计算所述目标进程的第一预设次数的对第一资源的利用率的平均值作为所述目标进程的第二基准。
4.根据权利要求1所述的方法,其特征在于,还包括:
当确定所述第二预设次数的所述所有进程对所述第一资源的总利用率不全大于所述第一预设百分比时,在所述第二预设时间段后重新连续获取第二预设次数的所述所有进程对所述第一资源的总利用率,并将最后一次获取的所述所有进程对所述第一资源的总利用率作为第一比例,其中,每相邻两次获取的时间间隔为第四预设时间段。
5.根据权利要求2所述的方法,其特征在于,
在控制所述资源泄露进程中第二比例和第二基准的差值最大的第一进程重启后还包括:第五预设时间段后重新获取所述第一进程对第一资源的利用率的第二基准;
在控制所述资源泄露进程重启后还包括:第五预设时间段后重新获取所述资源泄露进程对第二资源的利用量。
6.根据权利要求2所述的方法,其特征在于,
当所述第一进程无法重启时还包括:按照从大到小的顺序依次将所述资源泄露进程中除第一进程以外的进程重启,直至重启成功为止;
当所述资源泄露进程重启失败时,下一检测周期重新重启所述资源泄露进程。
7.一种系统资源泄露的检测装置,其特征在于,包括:获取模块、判断模块和处理模块;
所述获取模块,用于获取所述系统中所有进程对第一资源的总利用率的第一基准,获取所述系统中至少一个目标对第一资源的利用率的第二基准;所述第一资源包括系统内存和CPU;所述目标进程为所述系统中任一进程;
所述获取模块还用于在获取到所述第一基准和所述第二基准第二预设时间段后连续获取第二预设次数的所述所有进程对所述第一资源的总利用率,并将最后一次获取的所述所有进程对所述第一资源的总利用率作为第一比例;其中,每相邻两次获取的时间间隔为第四预设时间段;
所述获取模块还用于在所述判断模块确定所述获取模块获取的所述第二预设次数的所述所有进程对所述第一资源的总利用率均大于第一预设百分比时,获取当前所述目标进程对所述第一资源的利用率作为所述目标进程的第二比例;
所述判断模块还用于判断所述获取模块获取的所述第一比例和所述获取模块获取的所述第一基准的差值以及所述获取模块获取的所述目标进程的第二比例和所述获取模块获取的所述目标进程的第二基准的差值是否满足第一预设条件;
当所述判断模块确定所述获取模块获取的所述第一比例和所述获取模块获取的所述第一基准的差值以及所述获取模块获取的所述目标进程的第二比例和所述获取模块获取的所述目标进程第二基准的差值满足第一预设条件时,则所述判断模块确定所述目标进程为资源泄露进程;
当所述判断模块确定所述目标进程为资源泄露进程时,所述处理模块用于控制所述资源泄露进程中第二比例和第二基准的差值最大的第一进程重启;
当所述第一资源为系统内存时,当所述判断模块确定所述第一比例减所述第一基准的差值占所述第一比例的占比超过第二预设百分比时,则所述判断模块还用于判断所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比是否大于第三预设百分比,若所述判断模块确定所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比大于所述第三预设百分比,则所述判断模块确定所述目标进程为资源泄露进程;
当所述第一资源为CPU时,所述判断模块还用于在判断所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值是否满足第一预设条件之前,判断所述目标进程的第二比例是否大于第四预设百分比,若所述判断模块确定所述目标进程的第二比例大于第四预设百分比则所述判断模块确定所述目标进程为资源泄露进程,若所述判断模块确定所述目标进程的第二比例不大于第四预设百分比则所述判断模块判断所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值是否满足第一预设条件;
当所述第一资源为CPU时,当所述判断模块确定所述第一比例和所述第一基准的差值以及所述目标进程的第二比例和所述目标进程的第二基准的差值满足第一预设条件时,所述判断模块确定所述目标进程为资源泄露进程;所述第一预设条件为所述目标进程的第二比例减所述目标进程的第二基准的差值占所述第一比例减所述第一基准的差值的占比大于第五预设百分比。
8.根据权利要求7所述的装置,其特征在于,所述获取模块还用于获取所述系统中至少一个目标进程对第二资源的利用量;所述第二资源包括句柄和线程;
所述判断模块还用于当确定所述获取模块获取的所述系统中目标进程的第二资源利用量满足第二预设条件时,确定所述目标进程为资源泄露进程;
所述处理模块还用于在所述判断模块确定所述目标进程为资源泄露进程时,控制所述资源泄露进程重启。
9.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
在所述系统启动第一预设时间段后连续获取第一预设次数的所述目标进程对第一资源的利用率以及第一预设次数的所述所有进程对第一资源的总利用率,其中每相邻两次获取的时间间隔为第三预设时间段;
计算所述所有进程第一预设次数的对第一资源的总利用率的平均值作为所述所有进程对第一资源的总利用率的第一基准,同时计算所述目标进程的第一预设次数的对第一资源的利用率的平均值作为所述目标进程的第二基准。
10.根据权利要求7所述的装置,其特征在于,所述获取模块还用于在所述判断模块确定所述获取模块获取的所述第二预设次数的所述所有进程对所述第一资源的总利用率不全大于所述第一预设百分比时,在所述第二预设时间段后重新连续获取第二预设次数的所述所有进程对所述第一资源的总利用率,并将最后一次获取的所述所有进程对所述第一资源的总利用率作为第一比例,其中,相邻两次获取的时间间隔为第四预设时间段。
11.根据权利要求8所述的装置,其特征在于,所述获取模块还用于在所述处理模块控制所述资源泄露进程中第二比例和第二基准的差值最大的第一进程重启后,在第五预设时间段后重新获取所述第一进程对第一资源的利用率的第二基准;
所述获取模块还用于在所述处理模块控制所述资源泄露进程重启后,在第五预设时间段后重新获取所述资源泄露进程对所述第二资源的利用量。
12.根据权利要求8所述的装置,其特征在于,
当所述处理模块无法重启所述第一进程时,所述处理模块还用于按照从大到小的顺序依次将所述资源泄露进程中除所述第一进程以外的进程重启,直至重启成功为止;
当所述处理模块无法重启所述资源泄露进程时,下一检测周期所述处理模块重新重启所述资源泄露进程。
13.一种计算可读存储介质,其特征在于,包括一个或多个程序,所述程序在被计算机执行时使所述计算机执行如权利要求1至6任一项所述的系统资源泄露的检测方法。
CN201711296059.XA 2017-12-08 2017-12-08 一种系统资源泄露的检测方法和装置 Active CN107957950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711296059.XA CN107957950B (zh) 2017-12-08 2017-12-08 一种系统资源泄露的检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711296059.XA CN107957950B (zh) 2017-12-08 2017-12-08 一种系统资源泄露的检测方法和装置

Publications (2)

Publication Number Publication Date
CN107957950A CN107957950A (zh) 2018-04-24
CN107957950B true CN107957950B (zh) 2020-08-25

Family

ID=61957656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711296059.XA Active CN107957950B (zh) 2017-12-08 2017-12-08 一种系统资源泄露的检测方法和装置

Country Status (1)

Country Link
CN (1) CN107957950B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984295B (zh) * 2018-06-19 2020-08-07 珠海全志科技股份有限公司 内存回收方法、计算机装置及计算机可读存储介质
CN109359024B (zh) * 2018-08-03 2022-05-10 挖财网络技术有限公司 一种模拟安卓用户真实系统资源环境的测试方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599048A (zh) * 2009-07-01 2009-12-09 福建星网锐捷网络有限公司 一种内存监控的方法和装置
CN104182332A (zh) * 2013-05-21 2014-12-03 华为技术有限公司 判断资源泄漏、预测资源使用情况的方法及装置
US8918545B1 (en) * 2013-09-24 2014-12-23 International Business Machines Corporation RDMA resource leakage detection and reporting
CN105446871A (zh) * 2014-08-26 2016-03-30 华为技术有限公司 一种资源泄漏检测方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599048A (zh) * 2009-07-01 2009-12-09 福建星网锐捷网络有限公司 一种内存监控的方法和装置
CN104182332A (zh) * 2013-05-21 2014-12-03 华为技术有限公司 判断资源泄漏、预测资源使用情况的方法及装置
US8918545B1 (en) * 2013-09-24 2014-12-23 International Business Machines Corporation RDMA resource leakage detection and reporting
CN105446871A (zh) * 2014-08-26 2016-03-30 华为技术有限公司 一种资源泄漏检测方法、装置及系统

Also Published As

Publication number Publication date
CN107957950A (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
CN101354677B (zh) 一种应用程序运行状态的检测方法及装置
CN108665239B (zh) 工作流处理方法、装置、计算机设备及存储介质
CN104778111B (zh) 一种进行报警的方法和装置
US8473789B2 (en) Memory leak monitoring system and associated methods
US9558091B2 (en) Information processing device, fault avoidance method, and program storage medium
EP2437168A2 (en) Method and device for balancing load of multiprocessor system
KR102028663B1 (ko) 에러 검출 방법 및 장치
CN108508874B (zh) 一种监控设备故障的方法和装置
US20110197193A1 (en) Device and method for controlling communication between bios and bmc
CN107957950B (zh) 一种系统资源泄露的检测方法和装置
CN111538585B (zh) 一种基于node.js的服务器进程调度方法、系统和装置
CN110659159A (zh) 一种服务进程运行监控方法、装置、设备及存储介质
CN106095832B (zh) 分布式并行数据处理方法以及装置
US20040039935A1 (en) Method and device for measuring the execution time of a real task in a real time system
US20230305880A1 (en) Cluster distributed resource scheduling method, apparatus and device, and storage medium
CN111796954A (zh) 基于jvm的看门狗的控制方法、装置、设备及存储介质
US20140229956A1 (en) Method and System for Deterministic Multicore Execution
CN111752822A (zh) 一种容器化压测调度方法、计算机设备及可读存储介质
CN102646066A (zh) 一种开机时间的获取方法及装置
US9671124B2 (en) Management apparatus and method of managing air-conditioning apparatus
CN112948189B (zh) 一种裕度测试方法、裕度测试系统及相关装置
CN117055533A (zh) 一种车载系统故障处理方法、装置、设备及介质
CN105700656B (zh) 待机异常耗电侦测系统及方法
CN110555009A (zh) 一种网络文件系统nfs服务的处理方法及装置
CN114328083A (zh) 一种wdt监控方法、装置及介质

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