CN103793268A - 一种僵死/低效进程的识别方法和识别设备 - Google Patents

一种僵死/低效进程的识别方法和识别设备 Download PDF

Info

Publication number
CN103793268A
CN103793268A CN201410068759.3A CN201410068759A CN103793268A CN 103793268 A CN103793268 A CN 103793268A CN 201410068759 A CN201410068759 A CN 201410068759A CN 103793268 A CN103793268 A CN 103793268A
Authority
CN
China
Prior art keywords
computing unit
floating
ossified
unit
described target
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.)
Pending
Application number
CN201410068759.3A
Other languages
English (en)
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.)
BEIJING PARATERA TECHNOLOGY Co Ltd
Original Assignee
BEIJING PARATERA 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 BEIJING PARATERA TECHNOLOGY Co Ltd filed Critical BEIJING PARATERA TECHNOLOGY Co Ltd
Priority to CN201410068759.3A priority Critical patent/CN103793268A/zh
Publication of CN103793268A publication Critical patent/CN103793268A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了僵死/低效进程的识别装置、识别方法以及电子设备,以克服现有技术不能有效地识别低效和僵死进程的问题。上述识别装置在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,该识别装置包括:第一获得单元,其被配置用于获得目标进程占其对应的目标计算单元的使用率;第二获得单元,其被配置用于获得目标计算单元的浮点计算效率;以及判定单元,其被配置用于在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。本发明的上述技术能够应用于计算机领域。

Description

一种僵死/低效进程的识别方法和识别设备
技术领域
本发明涉及计算机领域,尤其涉及一种僵死/低效进程的识别装置、识别方法以及电子设备。 
背景技术
进程是操作系统结构的基础,是一个具有独立功能的程序;它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。进程不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。 
每个进程都有自己的生命周期,包括创建、执行、终止和删除。操作系统的运行过程中不断的重复这些过程,因此从操作系统性能的角度来看,进程按照正常的生命周期来工作非常重要。 
例如,在Linux操作系统中,父进程通过系统调用fork()创建子进程。fork()调用后将创建子进程的描述符和进程ID,在子进程中复制父进程的进程描述符,同时并不复制父进程的地址空间,而是在父进程的地址空间中运行。exec()系统调用将在子进程的地址空间中复制新的程序数据。一般情况下,子进程执行自己的程序,避免了复制完整地址空间的低效率操作。当程序执行完成时,子进程通过系统调用exit()终止进程。exit()系统调用释放子进程相应的资源,并发送信号给父进程,通知子进程的终止。在这个时刻,子进程被称为僵死进程。父进程通过系统调用wait()接收子进程的终止信号。当父进程接收到该信号,删除子进程所有的数据结构,并释放子进程的进程描述符,这个时候子进程才被完全删除;而如果父进程没有接收该信号,则子进程将彻底变成僵死进程。 
当子进程变成僵死进程后,子进程中保留的信息就不会被释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程, 导致系统不能正常工作。因此,对僵死进程的智能设别和自动化检测非常重要。 
另外,操作系统中虽然会有大量的计算进程在运行,但是有时这些计算进程却以很低的效率在进行实际工作,即占用了系统的CPU资源,却没有充分进行浮点计算,充分发挥资源性能。这一现象在高性能计算行业内尤为突出。 
目前,现有技术中尚不能有效地识别低效和僵死进程。因此,如何来应对低效和僵死进程的出现,并对其进行智能识别,成为了行业内用户面临的一大难题。 
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。 
鉴于此,本发明提供了僵死/低效进程的识别装置、识别方法以及电子设备,以至少解决现有技术不能有效地识别低效和僵死进程的问题。 
根据本发明的一个方面,提供了一种僵死/低效进程的识别装置,该识别装置在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,该识别装置包括:第一获得单元,其被配置用于获得目标进程占其对应的目标计算单元的使用率;第二获得单元,其被配置用于获得目标计算单元的浮点计算效率;以及判定单元,其被配置用于在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。 
根据本发明的另一个方面,还提供了一种僵死/低效进程的识别方法,该识别方法在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,该方法包括:获得目标进程占其对应的目标计算单元的使用率;获得目标计算单元的浮点计算效率;以及在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。 
根据本发明的另一个方面,还提供了一种电子设备,该电子设备包括 如上所述的僵死/低效进程的识别装置。 
上述根据本发明实施例的僵死/低效进程的识别装置、识别方法以及电子设备,其通过判断进程对其对应计算单元的使用率以及该计算单元的浮点计算效率与各自对应的预定阈值之间的关系,来进而确定是否将进程判定为僵死/低效进程,能够获得至少以下益处之一:准确、有效地识别出计算设备的每个计算单元上的僵死/低效进程;利于实现对僵死进程的智能设别和自动化检测;利于用户或系统根据识别结果进行相应的后续处理;有利于系统的正常工作;能够使得系统资源和计算资源得到最大化的利用;处理速度较快;能够在识别僵死/低效进程时及时地将该僵死/低效进程切换到其他相对空闲的计算单元上,从而缓解该进程原来所在计算单元的运算压力,从整体上更加有效地利用计算设备的系统资源;以及通过设置第一和第二预定阈值,能够适用于更多的处理场景,使得处理更加方便、灵活。 
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。 
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中: 
图1是示意性地示出根据本发明的实施例的僵死/低效进程的识别装置的一种示例结构的框图; 
图2是示意性地示出根据本发明的实施例的僵死/低效进程的识别装置的另一种示例结构的框图; 
图3是示意性地示出根据本发明的实施例的僵死/低效进程的识别装置的又一种示例结构的框图; 
图4是示意性地示出根据本发明的实施例的僵死/低效进程的识别方法的一种示例性处理的流程图; 
图5是示意性地示出图4所示的步骤S440的一种可能处理的流程图; 
图6是示意性地示出根据本发明的实施例的僵死/低效进程的识别方法的另一种示例性处理的流程图;以及 
图7是示出了可用来实现根据本发明的实施例的僵死/低效进程的识别装置和僵死/低效进程的识别方法的一种可能的信息处理设备的硬件配置的结构简图。 
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。 
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。 
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。 
本发明的实施例提供了一种僵死/低效进程的识别装置,该识别装置在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,该识别装置包括:第一获得单元,其被配置用于获得目标进程占其对应的目标计算单元的使用率;第二获得单元,其被配置用于获得目标计算单元的浮点计算效率;以及判定单元,其被配置用于在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。 
下面结合图1来详细描述根据本发明的实施例的僵死/低效进程的识别装置的一个示例。 
如图1所示,根据本发明的实施例的僵死/低效进程的识别装置100包括第一获得单元110、第二获得单元120以及判定单元130。 
识别装置100在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行。例如,上述计算设备可以包括N个CPU核,N为正整数,比如1、2或4等。 
第一获得单元110获得目标进程占其对应的目标计算单元的使用率,第二获得单元120获得对应的目标计算单元的浮点计算效率。判定单元130耦接到第一获得单元110和第二获得单元120,分别从第一和第二获得单元110和120获取目标进程在目标计算单元中的使用率和目标计算单元的浮点计算效率,并在第一获得单元110获得的使用率高于第一预定阈值、且第二获得单元120获得的浮点计算效率低于第二预定阈值的情况下,将该目标进程判定为僵死/低效进程。 
需要说明的是,“僵死/低效进程”指僵死进程或低效进程。在实际处理中,可以根据实际需要或经验值、或者通过试验的方法,针对僵死进程和低效进程分别设定对应的第一预定阈值和第二预定阈值,来分别实现对僵死进程和低效进程的判断。 
需要说明的是,第一获得单元110、第二获得单元120以及判定单元130的处理不一定依次执行。例如在一个实现方式中,针对识别装置100所在计算设备中的每个CPU核(作为每个计算单元的示例),可以首先通过第一获得单元110来对该CPU核上所运行的所有进程进行处理,即获得该CPU核上所运行的每个进程占该CPU核的CPU使用率。当第一获得单元110计算完每个进程的CPU使用率时,判定单元130可以先对每个进程的CPU使用率进行判断,从而筛选出CPU使用率超过第一预定阈值的进程;如果存在这样的进程(即CPU使用率超过第一预定阈值的进程),再触发第二获得单元120对对应的CPU核的浮点计算效率进行计算,否则结束处理。当第二获得单元120计算的浮点计算效率低于第二预定阈值时,再由判定单元130将先前筛选出的进程判定为僵死/低效进程。 
此外,在其他实现方式中,第一获得单元110、第二获得单元120以及判定单元130的处理当然也可以依次执行。例如,首先通过第一获得单元110来对该CPU核上所运行的所有进程进行处理,即获得该CPU核上所运行的每个进程占该CPU核的CPU使用率。然后,第二获得单元120计算该CPU核的浮点计算效率。之后,判定单元130可以首先判定每个进程占该CPU核的CPU使用率是否高于第一预定阈值:若存在某个进程占该CPU核的CPU使用率高于第一预定阈值,则进行下一步判定,即继续判定第二获得单元120计算的浮点计算效率是否低于第二预定阈值;否 则结束处理。若存在CPU使用率高于第一预定阈值的进程、且第二获得单元120所计算的浮点计算效率低于第二预定阈值的话,则判定单元130将目标进程(即上述CPU使用率高于第一预定阈值的进程)判定为僵死/低效进程;而若存在CPU使用率高于第一预定阈值的进程、但第二获得单元120所计算的浮点计算效率高于第二预定阈值的话,则结束处理,即不将目标进程判定为僵死/低效进程。 
此外,需要说明的是,对于本领域技术人员来说,可以根据公知常识和/或结合公开资料的方式来获知如何获得进程占其对应目标计算单元的使用率的详细处理,这里不再详述。 
在根据本发明的实施例的识别装置100的一种实现方式中,为了获得上述目标计算单元的浮点计算效率,第二获得单元120可以通过分别获得该目标计算单元的实测浮点计算性能与理论浮点计算性能,以将该目标计算单元的实测浮点计算性能与理论浮点计算性能的比值作为该目标计算单元的浮点计算效率。 
在一个例子中,第二获得单元120可以将上述目标计算单元在目标进程运行期间的预定时间内的所有浮点微操作数目确定为该目标计算单元的实测浮点计算性能。其中,获得浮点微操作数目的技术例如可以参考本发明申请人于2011年12月29日提交的、申请号为201110449841.7的发明专利申请“浮点计算性能确定装置和方法”。此外,以上获得进程占其对应目标计算单元的使用率的处理也可以参考该文献。 
此外,在一个例子中,第二获得单元120可以将上述目标计算单元的主频、该目标计算单元在每个时钟周期能够执行浮点运算的次数和该目标计算单元所在计算设备中所包含的计算单元总数的乘积确定为该目标计算单元的理论浮点计算性能。 
比如,假设目标计算单元是其所在计算设备所包括的N(N为正整数)个CPU核之一,简称为目标CPU核,并假设其主频为F,及其在每个时钟周期能够执行浮点运算的次数为M,则该目标CPU核的理论浮点计算性能可以用F*M*N来表示。在该例子中,假设目标CPU核的实测浮点计算性能可以用W来表示,则该目标CPU核的浮点计算效率等于W/(F*M*N)。 
通过以上描述可知,上述根据本发明的实施例的僵死/低效进程的识别装置,通过判断进程对其对应计算单元的使用率以及该计算单元的浮点 计算效率与各自对应的预定阈值之间的关系,来进而确定是否将进程判定为僵死/低效进程。通过以上处理,使得该识别装置能够准确、有效地识别出计算设备的每个计算单元上的僵死/低效进程,便于实现对僵死进程的智能设别和自动化检测。此外,通过以上处理来识别僵死/低效进程,有利于用户或系统根据识别结果进行相应的后续处理,例如强行关闭该进程等,从而有利于系统的正常工作,能够使得系统资源和计算资源得到最大化的利用。此外,上述根据本发明的实施例的僵死/低效进程的识别装置所执行的处理的运算量不大,使得处理速度较快。 
下面结合图2来描述根据本发明的实施例的僵死/低效进程的识别装置的另一个示例。 
在如图2所示的例子中,识别装置200除了包括第一获得单元210、第二获得单元220以及判定单元230之外,还包括控制单元240。当判定单元230将目标进程判定为僵死/低效进程时,控制单元240在计算设备中选择空闲率最高的计算单元作为目标进程的新的对应计算单元。图2所示的识别装置200中的第一获得单元210、第二获得单元220以及判定单元230可以分别具有与上文中结合图1所描述的识别装置100中的第一获得单元110、第二获得单元120以及判定单元130相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。 
这样,通过控制单元240的处理,能够在识别装置200发现某个计算单元上的僵死/低效进程时,及时地将该僵死/低效进程切换到其他相对空闲的计算单元上,以缓解该进程原来所在计算单元的运算压力,从而能够从整体上更加有效地利用计算设备的系统资源。 
下面结合图3来详细描述根据本发明的实施例的僵死/低效进程的识别装置的又一个示例。 
在如图3所示的例子中,识别装置300除了包括第一获得单元310、第二获得单元320以及判定单元330之外,还包括设置单元350。设置单元350设置第一预定阈值和第二预定阈值。根据一个实例,设置单元350将第一预定阈值设置在[80%,100%]的范围内,并且将第二预定阈值设置在[0,5%]的范围内。图3所示的识别装置300中的第一获得单元310、第二获得单元320以及判定单元330可以具有与上文中结合图1所描述的识别装置100中的第一获得单元110、第二获得单元120以及判定单元130相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。 
在一个例子中,设置单元350可以将第一预定阈值设置为80%,而将第二预定阈值设置为1%。 
这样,利用识别装置300中的设置单元350,可以根据实际处理的需要来设置或改变对应的第一和第二预定阈值,或者也可以根据经验值或通过试验的方式来设置上述第一和第二预定阈值。此外,在一些实现方式中,也可以根据用户的输入来设置上述第一和第二预定阈值,例如,在识别装置300所在计算设备的显示界面上显示第一和第二预定阈值分别对应的输入框,从而根据用户的输入数值来确定第一和第二预定阈值。 
需要说明的是,在其他一些实现方式中,识别装置300除了包括以上所描述的第一获得单元310、第二获得单元320、判定单元330以及设置单元350之外,还可以选择性地包括控制单元340。其中,控制单元340可以具有与上文中结合图2所描述的控制单元240相同的结构和功能,并能够达到相类似的技术效果,这里不再赘述。其中,图3中的虚线表示其对应的单元是可选的、而非必须的。 
由此,通过设置单元350来设置实际处理所需要的第一和第二预定阈值,能够使得上述根据本发明的实施例的僵死/低效进程的识别装置适用于更多的处理场景,并能使得其处理更加方便、灵活。 
此外,本发明的实施例还提供了一种僵死/低效进程的识别方法,该识别方法在计算设备中执行,该计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,该方法包括:获得目标进程占其对应的目标计算单元的使用率;获得目标计算单元的浮点计算效率;以及在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。 
下面结合图4来描述上述僵死/低效进程的识别方法400的一种示例性处理。僵死/低效进程的识别方法在计算设备中执行,计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行。 
如图4所示,识别方法400的处理流程400开始于步骤S410,然后执行步骤S420。 
在步骤S420中,获得目标进程占其对应的目标计算单元的使用率。然后执行步骤S430。其中,步骤S420中所执行的处理例如可以与上文中结合图1所描述的第一获得单元110的处理相同,并能够达到类似的技术 效果,在此不再赘述。 
在步骤S430中,获得目标计算单元的浮点计算效率。然后执行步骤S440。其中,步骤S430中所执行的处理例如可以与上文中结合图1所描述的第二获得单元120的处理相同,并能够达到类似的技术效果,在此不再赘述。 
在步骤S440中,在使用率高于第一预定阈值、且浮点计算效率低于第二预定阈值的情况下,判定目标进程为僵死/低效进程。然后执行步骤S450。其中,步骤S440中所执行的处理例如可以与上文中结合图1所描述的判定单元130的处理相同,并能够达到类似的技术效果,在此不再赘述。 
在根据本发明的实施例的僵死/低效进程的识别方法的一种实现方式中,第一预定阈值例如可以在[80%,100%]的范围内,而第二预定阈值例如可以在[0,5%]的范围内。在一个例子中,第一预定阈值可以为80%,而第二预定阈值可以为1%。 
此外,在根据本发明的实施例的僵死/低效进程的识别方法的另一种实现方式中,可以通过如图5所示的步骤S510~S530来实现步骤S440中的处理。 
如图5所示,在步骤S510中,判定使用率是否高于第一预定阈值:若是,则执行步骤S520;否则,跳过步骤S520和S530,直接执行步骤S450。 
在步骤S520中,判定浮点计算效率是否低于第二预定阈值:若是,则执行步骤S530;否则,跳过步骤S530,直接执行步骤S450。 
在步骤S530中,将目标进程判定为僵死/低效进程。 
此外,需要说明的是,虽然图4所示示例中的步骤S420、步骤S430和步骤S440是依次顺序执行的,但在其他示例中,各个步骤所执行的顺序并不限于此。例如在一个实现方式中,针对计算设备中的每个CPU核(作为每个计算单元的示例),可以首先通过执行步骤S420来对该CPU核上所运行的所有进程进行处理,即获得该CPU核上所运行的每个进程占该CPU核的CPU使用率。这样,可以通过执行步骤S440中的部分处理,即,通过判定各个进程的CPU使用率是否高于第一预定阈值,来筛选出CPU使用率超过第一预定阈值的进程。然后,若存在这样的进程(即CPU使用率超过第一预定阈值的进程),则继续执行步骤S430来对该 CPU核的浮点计算效率进行计算,否则(若不存在CPU使用率超过第一预定阈值的进程)结束处理。当存在CPU使用率超过第一预定阈值的进程、并执行完步骤S430的处理之后,执行步骤S440中的剩余其他处理,即,判定步骤S430所计算的浮点计算效率是否低于第二预定阈值,并在该浮点计算效率低于第二预定阈值的情况下将先前筛选出的进程判定为僵死/低效进程。 
在根据本发明的实施例的僵死/低效进程的识别方法的一种实现方式中,可以通过如下方式来实现步骤S430的处理:获得目标计算单元的实测浮点计算性能与理论浮点计算性能;以及将目标计算单元的实测浮点计算性能与理论浮点计算性能的比值确定为目标计算单元的浮点计算效率。 
在一个例子中,可以将目标计算单元在目标进程运行期间的预定时间内的所有浮点微操作数目确定为目标计算单元的实测浮点计算性能。 
此外,在一个例子中,可以将目标计算单元的主频、目标计算单元在每个时钟周期能够执行浮点运算的次数和目标计算单元所在计算设备中所包含的计算单元总数的乘积确定为目标计算单元的理论浮点计算性能。 
其中,以上所述的根据本发明的实施例的僵死/低效进程的识别方法的各个示例中的各个步骤、子步骤的处理可以分别和上文中结合图1-3所描述的僵死/低效进程的识别装置中的对应单元、组成部分所执行的处理相同,并能够达到相类似的技术效果,这里不再赘述。 
处理流程400结束于步骤S450。 
通过以上描述可知,上述根据本发明的实施例的僵死/低效进程的识别方法,通过判断进程对其对应计算单元的使用率以及该计算单元的浮点计算效率与各自对应的预定阈值之间的关系,来进而确定是否将进程判定为僵死/低效进程。通过以上处理,使得该识别方法能够准确、有效地识别出计算设备的每个计算单元上的僵死/低效进程,便于实现对僵死进程的智能设别和自动化检测。此外,通过以上处理来识别僵死/低效进程,有利于用户或系统根据识别结果进行相应的后续处理,例如强行关闭该进程等,从而有利于系统的正常工作,能够使得系统资源和计算资源得到最大化的利用。此外,上述根据本发明的实施例的僵死/低效进程的识别方法所执行的处理的运算量不大,使得处理速度较快。 
下面结合图6来描述上述僵死/低效进程的识别方法的另一种示例性处理。 
其中,根据本发明的实施例的僵死/低效进程的识别方法的处理流程600开始于步骤S610,然后执行步骤S620~S640。其中,处理流程600中的步骤S620~S640可以执行与以上结合图4所描述的处理流程400中的步骤S420~S440中所执行的处理相同的处理,并能够达到相类似的技术效果,这里不再赘述。 
如图6所示,在执行完步骤S640之后,执行步骤S650。 
在步骤S650中,在将目标进程判定为僵死/低效进程的情况下,在计算设备中选择空闲率最高的计算单元作为目标进程的新的对应计算单元。然后,执行步骤S660。 
处理流程600结束于步骤S660。 
这样,通过步骤S650的处理,能够在识别某个计算单元上的僵死/低效进程时,及时地将该僵死/低效进程切换到其他相对空闲的计算单元上,以缓解该进程原来所在计算单元的运算压力,能够从整体上更加有效地利用计算设备的系统资源。 
此外,本发明的实施例还提供了一种电子设备,该电子设备包括如上所述的僵死/低效进程的识别装置。在根据本发明的实施例的上述电子设备的具体实现方式中,上述电子设备可以是以下设备中的任意一种设备:计算机;平板电脑;个人数字助理;多媒体播放设备;手机以及电纸书等等。其中,该电子设备具有上述僵死/低效进程的识别装置的各种功能和技术效果,这里不再赘述。 
上述根据本发明的实施例的僵死/低效进程的识别装置中的各个组成单元、子单元、模块等可以通过软件、固件、硬件或其任意组合的方式进行配置。在通过软件或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的机器(例如图7所示的通用机器700)安装构成该软件或固件的程序,该机器在安装有各种程序时,能够执行上述各组成单元、子单元的各种功能。 
图7是示出了可用来实现根据本发明的实施例的僵死/低效进程的识别装置和僵死/低效进程的识别方法的一种可能的信息处理设备的硬件配置的结构简图。 
在图7中,中央处理单元(CPU)701根据只读存储器(ROM)702中存储的程序或从存储部分708加载到随机存取存储器(RAM)703的程序执行各种处理。在RAM703中,还根据需要存储当CPU701执行各种处理 等等时所需的数据。CPU701、ROM702和RAM703经由总线704彼此连接。输入/输出接口705也连接到总线704。 
下述部件也连接到输入/输出接口705:输入部分706(包括键盘、鼠标等等)、输出部分707(包括显示器,例如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分708(包括硬盘等)、通信部分709(包括网络接口卡例如LAN卡、调制解调器等)。通信部分709经由网络例如因特网执行通信处理。根据需要,驱动器710也可连接到输入/输出接口705。可拆卸介质711例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器710上,使得从中读出的计算机程序可根据需要被安装到存储部分708中。 
在通过软件实现上述系列处理的情况下,可以从网络例如因特网或从存储介质例如可拆卸介质711安装构成软件的程序。 
本领域的技术人员应当理解,这种存储介质不局限于图7所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质711。可拆卸介质711的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM702、存储部分708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。 
在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。 
A5.根据A1所述的僵死/低效进程的识别装置,还包括控制单元,所述控制单元被配置用于:当所述目标进程被判定为僵死/低效进程时,在所述计算设备中选择空闲率最高的计算单元作为所述目标进程的新的对应计算单元。A7.根据A6所述的僵死/低效进程的识别装置,其中,所述设置单元被配置用于:将所述第一预定阈值设置为80%,而将所述第二预定阈值设置为1%。B12.根据B8所述的僵死/低效进程的识别方法,其中,当所述目标进程被判定为僵死/低效进程时,在所述计算设备中选择空闲率最高的计算单元作为所述目标进程的新的对应计算单元。B13.根据B8所述的僵死/低效进程的识别方法,其中,所述第一预定阈值在[80%,100%]的范围内,而所述第二预定阈值在[0,5%]的范围内。B14.根据B13所述的僵死/低效进程的识别方法,其中,所述第一预定阈值为80%,而所述第二预定阈值为1%。C16.根据C15所述的电子设备,其中,所 述电子设备是以下设备之一:计算机;平板电脑;个人数字助理;多媒体播放设备;手机以及电纸书。 
此外,本发明的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。 
最后,还需要说明的是,在本文中,诸如左和右、第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。 

Claims (10)

1.一种僵死/低效进程的识别装置,所述识别装置在计算设备中执行,所述计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,所述识别装置包括:
第一获得单元,其被配置用于获得目标进程占其对应的目标计算单元的使用率;
第二获得单元,其被配置用于获得所述目标计算单元的浮点计算效率;以及
判定单元,其被配置用于在所述使用率高于第一预定阈值、且所述浮点计算效率低于第二预定阈值的情况下,判定所述目标进程为僵死/低效进程。
2.根据权利要求1所述的僵死/低效进程的识别装置,其中,所述第二获得单元被配置用于:
获得所述目标计算单元的实测浮点计算性能与理论浮点计算性能,以及将所述目标计算单元的实测浮点计算性能与理论浮点计算性能的比值确定为所述目标计算单元的浮点计算效率。
3.根据权利要求2所述的僵死/低效进程的识别装置,其中,所述第二获得单元被配置用于:
将所述目标计算单元在所述目标进程运行期间的预定时间内的所有浮点微操作数目确定为所述目标计算单元的实测浮点计算性能。
4.根据权利要求2所述的僵死/低效进程的识别装置,其中,所述第二获得单元被配置用于:
将所述目标计算单元的主频、所述目标计算单元在每个时钟周期能够执行浮点运算的次数和所述目标计算单元所在计算设备中所包含的计算单元总数的乘积确定为所述目标计算单元的理论浮点计算性能。
5.根据权利要求1所述的僵死/低效进程的识别装置,还包括设置单元,所述设置单元被配置用于:
将所述第一预定阈值设置在[80%,100%]的范围内,而将所述第二预定阈值设置在[0,5%]的范围内。
6.一种僵死/低效进程的识别方法,所述识别方法在计算设备中执行,所述计算设备包括一个或者多个计算单元,并且包括一个或者多个进程占据相应的计算单元来执行,所述方法包括:
获得目标进程占其对应的目标计算单元的使用率;
获得所述目标计算单元的浮点计算效率;以及
在所述使用率高于第一预定阈值、且所述浮点计算效率低于第二预定阈值的情况下,判定所述目标进程为僵死/低效进程。
7.根据权利要求6所述的僵死/低效进程的识别方法,其中,获得所述目标计算单元的浮点计算效率的步骤包括:
获得所述目标计算单元的实测浮点计算性能与理论浮点计算性能;以及
将所述目标计算单元的实测浮点计算性能与理论浮点计算性能的比值确定为所述目标计算单元的浮点计算效率。
8.根据权利要求7所述的僵死/低效进程的识别方法,其中,将所述目标计算单元在所述目标进程运行期间的预定时间内的所有浮点微操作数目确定为所述目标计算单元的实测浮点计算性能。
9.根据权利要求8所述的僵死/低效进程的识别方法,其中,将所述目标计算单元的主频、所述目标计算单元在每个时钟周期能够执行浮点运算的次数和所述目标计算单元所在计算设备中所包含的计算单元总数的乘积确定为所述目标计算单元的理论浮点计算性能。
10.一种电子设备,包括如权利要求1-5中任一项所述的僵死/低效进程的识别装置。
CN201410068759.3A 2014-02-27 2014-02-27 一种僵死/低效进程的识别方法和识别设备 Pending CN103793268A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410068759.3A CN103793268A (zh) 2014-02-27 2014-02-27 一种僵死/低效进程的识别方法和识别设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410068759.3A CN103793268A (zh) 2014-02-27 2014-02-27 一种僵死/低效进程的识别方法和识别设备

Publications (1)

Publication Number Publication Date
CN103793268A true CN103793268A (zh) 2014-05-14

Family

ID=50668980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410068759.3A Pending CN103793268A (zh) 2014-02-27 2014-02-27 一种僵死/低效进程的识别方法和识别设备

Country Status (1)

Country Link
CN (1) CN103793268A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521119A (zh) * 2011-11-15 2012-06-27 浪潮电子信息产业股份有限公司 一种快速确定集群并行效率的方法
CN102591616A (zh) * 2011-12-29 2012-07-18 北京并行科技有限公司 浮点计算性能确定装置和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521119A (zh) * 2011-11-15 2012-06-27 浪潮电子信息产业股份有限公司 一种快速确定集群并行效率的方法
CN102591616A (zh) * 2011-12-29 2012-07-18 北京并行科技有限公司 浮点计算性能确定装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
北京并行科技有限公司: "Paramon用户手册", 《HTTP://WWW.PARATERA.COM/DOWNLOADSFRONT.DO?METHOD=PICKER&FLAG=ALL&ID=A54A9BD8-6895-4882-8CB9-88AD41F1688A&FILEID=52&MEMSTATE=&V=1.ZIP》 *
北京并行科技有限公司: "Paramon用户手册V4.0", 《HTTP://WWW.PARATERA.COM/SCZ_LIST/&FRONTCOLUMNS_NAVIGATION01-1400030578491FIRSTCOLUMNID=63&&DOWNLOADCATEGORYID=15&ISMODE=FALSE&PAGENO=2&PAGESIZE=5.HTML》 *

Similar Documents

Publication Publication Date Title
CN113961351B (zh) 深度学习模型的分布式训练方法、装置、设备及存储介质
CN109344395B (zh) 一种数据处理方法、装置、服务器及存储介质
CN106446019B (zh) 一种软件功能处理方法和装置
CN106874100B (zh) 计算资源分配方法及装置
CN110347493A (zh) 页面数据的处理方法、显示方法、装置、设备及存储介质
CN111639470B (zh) 一种处理器协同芯片的仿真测试方法、系统及相关组件
CN113568821A (zh) 一种ai芯片计算性能的测试方法、装置、设备、及介质
CN110795162B (zh) 生成容器镜像文件的方法和装置
CN114417780B (zh) 状态同步方法、装置、电子设备及存储介质
CN106603125B (zh) 一种与蓝牙设备进行数据交互的方法及装置
CN110990285A (zh) 一种ui自动化测试方法及装置
CN111966597B (zh) 测试数据生成方法及装置
CN104008046A (zh) 程序的测试方法以及用于测试程序的设备
CN112817660A (zh) 扩展小程序能力的方法、装置、设备以及存储介质
CN105468503A (zh) 一种软件测试方法及其设备
CN103793268A (zh) 一种僵死/低效进程的识别方法和识别设备
CN106844605B (zh) 批量数据逻辑处理方法及装置
CN114330221B (zh) 计分板实现方法、计分板、电子设备及存储介质
CN107272989B (zh) 应用启动方法、装置及终端设备
JP6048119B2 (ja) 異常原因推定プログラム、異常原因推定装置及び異常原因推定方法
CN113703753B (zh) 用于产品开发的方法、装置和产品开发系统
US7865348B1 (en) Performance of circuit simulation with multiple combinations of input stimuli
CN104516472A (zh) 处理器和数据处理方法
CN111199189A (zh) 一种目标对象跟踪方法、系统、电子设备及存储介质
CN111008140A (zh) 一种跨平台的ui自动化测试方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100085 room B, block 11B-05, No. 28, information road, Beijing, Haidian District

Applicant after: BEIJING PARATERA TECHNOLOGY CO., LTD.

Address before: 100085 room B, block 11B-05, No. 28, information road, Beijing, Haidian District

Applicant before: Beijing Paratera Technology Co., Ltd.

COR Change of bibliographic data
RJ01 Rejection of invention patent application after publication

Application publication date: 20140514

RJ01 Rejection of invention patent application after publication