一种对多核CPU进行检测的方法和装置制造方法及图纸

技术编号:14637065 阅读:100 留言:0更新日期:2017-02-15 11:14
本发明专利技术公开了一种对多核CPU进行检测的方法和装置,该装置包括:监控模块,用于监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长;检测模块,用于根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程。本发明专利技术可以对多核CPU中的每个内核都进行独立的监控,以反映出每个内核的真实使用情况。除此之外,还通过定期扫描服务器的线程堆栈并对线程堆栈日志进行分析,来检测是否存在运行时间过长的线程,并结合各个内核的使用情况,对多核CPU的运行状态做出判断。本发明专利技术可以及时、快速的发现多核CPU中出现类似于死循环的故障,从而及时通知工作人员解决故障问题。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种对多核CPU(CentralProcessingUnit,中央处理器)进行检测的方法和装置。
技术介绍
随着计算机技术的不断发展,CPU中使用的内核数量不断增加,多核CPU越来越多的被使用在服务器中。但是,目前监控多核CPU使用率的方案是监控多核CPU使用率的平均值,不能反映出多核CPU内每一个内核的真实使用情况。当多核CPU内一个内核出现死循环的情况时,无法及时被发现。例如,在一个8核CPU中,若其中某一内核的使用率已达到100%,但是所述8核CPU的使用率的平均值只有12.5%,因此,无法及时获知到死循环的情况。
技术实现思路
本专利技术的主要目的在于提出一种对多核CPU进行检测的方法和装置,对多核CPU中的每个内核及线程进行全面监控。为实现上述目的,本专利技术提供的一种对多核CPU进行检测的装置,包括:监控模块,用于监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长;检测模块,用于根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程。进一步的,所述监控模块,包括:内核监控单元,用于利用Linux系统内核学习方法,得到多核CPU中每个内核的使用率;线程监控单元,用于通过分析多核CPU的线程堆栈日志,得到内核中每个线程的运行时长。进一步的,所述线程堆栈日志包括:各个线程的运行状态;所述线程监控单元,具体用于:按照设定的分析周期时长周期性的分析多核CPU的线程堆栈日志,并计算每个线程的运行时长;将任一线程连续处于运行状态所占的分析周期数与所述设定的分析周期时长相乘,得到所述任一线程的运行时长。进一步的,所述检测模块,具体用于:检测所述多核CPU中任一内核处于超负荷状态的时长是否大于第一预设时长阈值,若是,则判定所述任一内核出现故障;所述超负荷状态为内核的使用率大于预设的使用率阈值的状态;检测内核中的任一线程的运行时长是否大于第二预设时长阈值,若是,则判定所述任一线程出现故障。进一步的,所述装置,还包括:提示模块,用于向客户端发送提示信息,所述提示信息包括所述多核CPU中出现故障的内核以及线程。此外,为实现上述目的,本专利技术还提出一种对多核CPU进行检测的方法,包括:监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长;根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程。进一步的,所述监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长,包括:利用Linux系统内核学习方法,得到多核CPU中每个内核的使用率;通过分析多核CPU的线程堆栈日志,得到内核中每个线程的运行时长。进一步的,所述线程堆栈日志包括:各个线程的运行状态;所述通过分析多核CPU的线程堆栈日志,得到内核中每个线程的运行时长,包括:按照设定的分析周期时长周期性的分析多核CPU的线程堆栈日志,并计算每个线程的运行时长;将任一线程连续处于运行状态所占的分析周期数与所述设定的分析周期时长相乘,得到所述任一线程的运行时长。进一步的,所述根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程,包括:检测所述多核CPU中任一内核处于超负荷状态的时长是否大于第一预设时长阈值,若是,则判定所述任一内核出现故障;所述超负荷状态为内核的使用率大于预设的使用率阈值的状态;检测内核中的任一线程的运行时长是否大于第二预设时长阈值,若是,则判定所述任一线程出现故障。进一步的,所述方法还包括:向客户端发送提示信息,所述提示信息包括所述多核CPU中出现故障的内核以及线程。本专利技术提出的对多核CPU进行检测的方法和装置,可以对多核CPU中的每个内核都进行独立的监控,以反映出每个内核的真实使用情况。除此之外,还通过定期扫描服务器的线程堆栈并对线程堆栈日志进行分析,来检测是否存在运行时间过长的线程,并结合各个内核的使用情况,对多核CPU的运行状态做出判断。本专利技术可以及时、快速的发现多核CPU中出现类似于死循环的故障,从而及时通知工作人员解决故障问题。附图说明图1为实现本专利技术各个实施例的一种可选的移动终端的硬件结构示意图;图2为如图1所示的移动终端的无线通信系统示意图;图3为本专利技术第一实施例的对多核CPU进行检测的装置的组成结构示意图;图4为本专利技术第二实施例的对多核CPU进行检测的装置的组成结构示意图;图5为本专利技术第三实施例的对多核CPU进行检测的方法的流程图;图6为本专利技术第四实施例的对多核CPU进行检测的方法的流程图;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。现在将参考附图描述实现本专利技术各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身并没有特定的意义。因此,\模块\与\部件\可以混合地使用。移动终端可以以各种形式来实施。例如,本专利技术中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。图1为实现本专利技术各个实施例的一种可选的移动终端的硬件结构示意。移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播系统接收信号广播。特别地,广播接收模块111可以通过使用诸如本文档来自技高网...
一种对多核CPU进行检测的方法和装置

【技术保护点】
一种对多核CPU进行检测的装置,其特征在于,所述装置包括:监控模块,用于监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长;检测模块,用于根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程。

【技术特征摘要】
1.一种对多核CPU进行检测的装置,其特征在于,所述装置包括:监控模块,用于监控多核CPU中每个内核的使用率以及内核中每个线程的运行时长;检测模块,用于根据所述多核CPU中每个内核的使用率以及内核中每个线程的运行时长,检测出所述多核CPU中出现故障的内核以及线程。2.根据权利要求1所述的对多核CPU进行检测的装置,其特征在于,所述监控模块,包括:内核监控单元,用于利用Linux系统内核学习方法,得到多核CPU中每个内核的使用率;线程监控单元,用于通过分析多核CPU的线程堆栈日志,得到内核中每个线程的运行时长。3.根据权利要求2所述的对多核CPU进行检测的装置,其特征在于,所述线程堆栈日志包括:各个线程的运行状态;所述线程监控单元,具体用于:按照设定的分析周期时长周期性的分析多核CPU的线程堆栈日志,并计算每个线程的运行时长;将任一线程连续处于运行状态所占的分析周期数与所述设定的分析周期时长相乘,得到所述任一线程的运行时长。4.根据权利要求1所述的对多核CPU进行检测的装置,其特征在于,所述检测模块,具体用于:检测所述多核CPU中任一内核处于超负荷状态的时长是否大于第一预设时长阈值,若是,则判定所述任一内核出现故障;所述超负荷状态为内核的使用率大于预设的使用率阈值的状态;检测内核中的任一线程的运行时长是否大于第二预设时长阈值,若是,则判定所述任一线程出现故障。5.根据权利要求1所述的对多核CPU进行检测的装置,其特征在于,所述装置,还包括:提示模块,用于向客户端发送提示信息,所述提示信息包括所述多核CPU中出现故障的内核以及线程。6.一种对多核CPU进行检测的方法,其特征在于,所述方法包...

【专利技术属性】
技术研发人员:倪秉炬
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1