一种CPU占用率检测方法及检测设备技术

技术编号:22260744 阅读:28 留言:0更新日期:2019-10-10 13:58
本申请实施例公开了一种CPU占用率检测方法及检测设备,该检测设备包括虚拟网络设备和用于计算CPU占用率的统计工具,该虚拟网络设备运行在检测设备的客户机操作系统上,该虚拟网络设备包括至少一个数据面线程,其中,应用于该检测设备的方法包括:通过统计工具获取第一时长,该第一时长为第一数据面线程在预设时间段内处理事务的总时长,该第一数据面线程为虚拟网络设备包括的数据面线程;通过统计工具将第一时长与预设时间段的比值确定为CPU占用率。可见,通过实施本申请实施例,得到的CPU占用率可以体现出数据面线程或虚拟核的实际负载情况。

A CPU Occupancy Detection Method and Equipment

【技术实现步骤摘要】
一种CPU占用率检测方法及检测设备
本申请涉及通信
,尤其涉及一种CPU占用率检测方法及检测设备。
技术介绍
网络功能虚拟化(networkfunctionvirtualization,NFV)的核心思想是将传统的物理网络设备的功能使用软件的方式在虚拟机上面实现。这种方式使得传统的分离的单个物理网络设备能够以软件的方式集中部署在一台物理设备上,共享物理资源,提升了网络设备部署和升级以及运维的效率,并降低了成本。例如,在不采用网络功能虚拟化的情况下,需要部署路由器、交换机和防火墙设备这三种等多种物理网络设备。采用网络功能虚拟化之后,可将路由器、交换机和防火墙设备通过虚拟化技术集成到通用服务器,例如,x86服务器上。然后通过通用服务器执行路由器、交换机和防火墙的功能。图1是一种通过NFV技术集成网络设备功能的设备的层次结构示意图。如图1所示,该设备包括物理服务器、主机操作系统(hostOS)、虚拟化层、客户机操作系统(guestOS)、虚拟网络设备的控制面和数据面。其中,物理服务器由中央处理器(centralprocessingunit,CPU)、存储器、硬盘和网卡等组成。hostOS为直接运行在物理服务器上的操作系统,例如,hostOS可以为直接运行在物理服务器上的linux操作系统。虚拟化层是运行在hostOS上的用于实现虚拟机的机制。guestOS是运行在虚拟机里面的操作系统,例如,guestOS可以为运行在虚拟机中的linux操作系统。控制面和数据面运行在guestOS上。控制面和数据面用于实现虚拟网络设备(如虚拟路由器、虚拟交换机和虚拟防火墙等)的功能。控制面用于处理控制信息。数据面用于处理网络设备接口上的报文,例如,快速转发网络设备接口上的报文。图2是一种数据面线程、虚拟核和物理核绑定关系的示意图。如图2所示,C1/C2/C3/C4分别是物理服务器CPU上面4个物理核,Ca/Cb/Cc/Cd是虚拟机里面的虚拟核,虚拟核实质上是运行在HostOS上的线程。每个虚拟核分别一一绑定到物理核。每个数据面线程又一一绑定到虚拟核。为了保证网络设备的转发高性能,低时延,即使数据面线程没有需要处理的事务,一个数据面线程也一直占据一个虚拟核。线程的CPU占用率等于该线程的运行时间占据CPU总的运行时间的百分比。因此,从guestOS角度看,数据面线程永远运行并且独占一个虚拟核,那么该数据面线程的CPU占用率永远是100%。从hostOS的角度看,虚拟核是运行在hostOS上的一个线程,该虚拟核永远运行并且独占一个物理核,那么该虚拟核的CPU占用率永远是100%。可见,从guestOS看到的数据面线程的CPU占用率永远是100%,从hostOS看到的虚拟核的CPU占用率也永远是100%,通过这种方式计算得到的CPU占用率,无法体现数据面线程或虚拟核的实际负载情况。
技术实现思路
本申请提供了一种CPU占用率检测方法及检测设备,计算得到的CPU占用率能够体现数据面线程或虚拟核的实际负载情况。第一方面,本申请提供了一种CPU占用率检测方法,应用于检测设备,检测设备包括虚拟网络设备和用于计算CPU占用率的统计工具,虚拟网络设备运行在检测设备的客户机操作系统上,虚拟网络设备包括至少一个数据面线程,该方法包括:通过统计工具获取第一时长,该第一时长为第一数据面线程在预设时间段内处理事务的总时长,该第一数据面线程为虚拟网络设备包括的数据面线程;通过统计工具将第一时长与预设时间段的比值确定为CPU占用率。可见,通过第一方面所描述的方法,检测设备检测到的CPU占用率是根据数据面线程在预设时间段内处理事务的总时长计算得到的。因此,该CPU占用率可以体现出数据面线程或与数据面线程绑定的虚拟核的实际繁忙程度,即CPU占用率可以体现出数据面线程或与数据面线程绑定的虚拟核的实际负载情况。在第一种可能的实施方式中,检测设备还通过目标线程向存储区域写入第一数据面线程在预设时间段内处理事务的所有处理时长,该目标线程为运行在客户机操作系统上的线程;相应地,检测设备通过统计工具获取第一时长的具体实施方式为:通过统计工具从存储区域中获取第一数据面线程在预设时间段内处理事务的所有处理时长;通过统计工具根据从存储区域中获取的所有处理时长,计算得到第一时长。通过实施该实施方式,可准确地获取第一时长。在第二种可能的实施方式中,上述统计工具为运行在客户机操作系统下的工具,上述存储区域为客户机操作系统与目标线程之间共享的存储区域,或上述存储区域为统计工具与目标线程之间共享的存储区域;上述CPU占用率为第一数据面线程的CPU占用率。在该实施方式中,由于第一数据面线程是运行在客户机操作系统下的,因此,可通过运行在客户机操作系统下的统计工具来获取第一时长,并将第一时长与预设时间段的比值确定为第一数据面线程的CPU占用率。通过该实施方式可准确地确定出第一数据面线程的CPU占用率。可选地,检测设备通过运行在客户机操作系统下的统计工具,将第一时长与预设时间段的比值确定为第一数据面线程的CPU占用率之后,可通过运行在客户机操作系统下的统计工具显示第一数据面线程的CPU占用率。这样有利于用户了解第一数据面线程对应的虚拟核的CPU占用率。在第三种可能的实施方式中,上述统计工具为运行在主机操作系统下的工具,上述存储区域为主机操作系统与目标线程之间共享的存储区域;上述CPU占用率为与第一数据面线程绑定的虚拟核的CPU占用率。在该实施方式中,由于第一数据面线程对应的虚拟核是运行在主机操作系统下的,因此,可通过运行在主机操作系统下的统计工具来获取第一时长,并将第一时长与预设时间段的比值确定为第一数据面线程对应的虚拟核的CPU占用率。通过该实施方式可准确地确定出第一数据面线程对应的虚拟核的CPU占用率。可选地,检测设备通过运行在主机操作系统下的统计工具,将第一时长与预设时间段的比值确定为第一数据面线程对应的虚拟核的CPU占用率之后,可通过运行在主机操作系统下的统计工具显示第一数据面线程对应的虚拟核的CPU占用率。这样有利于用户了解第一数据面线程对应的虚拟核的CPU占用率。在第五种可能的实施方式中,检测设备还包括主机操作系统,主机操作系统具有私有存储区域;检测设备通过运行在客户机操作系统中的第一线程发送第一数据面线程在预设时间段内处理事务的所有处理时长至第二线程,该第二线程为运行在主机操作系统下的线程;通过第二线程将该所有处理时长写入私有存储区域;检测设备通过统计工具获取第一时长的具体实施方式为:通过运行在主机操作系统下的统计工具,从私有存储区域中获取第一数据面线程在预设时间段内处理事务的所有处理时长;通过运行在主机操作系统下的统计工具根据从私有存储区域中获取的所有处理时长,计算得到第一时长;通过统计工具将第一时长与预设时间段的比值确定为CPU占用率的具体实施方式为:通过运行在主机操作系统下的统计工具将第一时长与预设时间段的比值确定为与第一数据面线程绑定的虚拟核的CPU占用率。通过实施该实施方式,主机操作系统并不与客户机操作系统上的线程之间共享存储区域,主机操作系统具有私有存储区域,客户机操作系统上的线程不能直接在主机操作系统的私有存储区域写入数据,这样能够提高客户机操作系统存本文档来自技高网
...

【技术保护点】
1.一种中央处理器CPU占用率检测方法,应用于检测设备,所述检测设备包括虚拟网络设备和用于计算CPU占用率的统计工具,所述虚拟网络设备运行在所述检测设备的客户机操作系统上,所述虚拟网络设备包括至少一个数据面线程,其特征在于,所述方法包括:通过所述统计工具获取第一时长,所述第一时长为第一数据面线程在预设时间段内处理事务的总时长,所述第一数据面线程为所述虚拟网络设备包括的数据面线程;通过所述统计工具将所述第一时长与所述预设时间段的比值确定为CPU占用率。

【技术特征摘要】
1.一种中央处理器CPU占用率检测方法,应用于检测设备,所述检测设备包括虚拟网络设备和用于计算CPU占用率的统计工具,所述虚拟网络设备运行在所述检测设备的客户机操作系统上,所述虚拟网络设备包括至少一个数据面线程,其特征在于,所述方法包括:通过所述统计工具获取第一时长,所述第一时长为第一数据面线程在预设时间段内处理事务的总时长,所述第一数据面线程为所述虚拟网络设备包括的数据面线程;通过所述统计工具将所述第一时长与所述预设时间段的比值确定为CPU占用率。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过目标线程向存储区域写入第一数据面线程在所述预设时间段内处理事务的所有处理时长,所述目标线程为运行在所述客户机操作系统上的线程;所述通过所述统计工具获取第一时长,包括:通过所述统计工具从所述存储区域中获取所述第一数据面线程在所述预设时间段内处理事务的所有处理时长;通过所述统计工具根据从所述存储区域中获取的所有处理时长,计算得到第一时长。3.根据权利要求2所述的方法,其特征在于,所述统计工具为运行在所述客户机操作系统下的工具,所述存储区域为所述客户机操作系统与目标线程之间共享的第一存储区域,或所述存储区域为所述统计工具与目标线程之间共享的第一存储区域;所述CPU占用率为所述第一数据面线程的CPU占用率。4.根据权利要求2所述的方法,其特征在于,所述检测设备还包括主机操作系统,所述统计工具为运行在所述主机操作系统下的工具,所述存储区域为所述主机操作系统与所述目标线程之间共享的第二存储区域;所述CPU占用率为与所述第一数据面线程绑定的虚拟核的CPU占用率。5.根据权利要求1所述的方法,其特征在于,所述检测设备还包括主机操作系统,所述主机操作系统具有私有存储区域;所述方法还包括:通过运行在所述客户机操作系统中的第一线程发送第一数据面线程在所述预设时间段内处理事务的所有处理时长至第二线程,所述第二线程为运行在所述主机操作系统下的线程;通过所述第二线程将所述所有处理时长写入所述私有存储区域;所述通过统计工具获取第一时长,包括:通过运行在所述主机操作系统下的统计工具,从所述私有存储区域中获取所述第一数据面线程在所述预设时间段内处理事务的所有处理时长;通过运行在所述主机操作系统下的统计工具根据从所述私有存储区域中获取的所述所有处理时长,计算得到所述第一时长;通过所述统计工具将所述第一时长与所述预设时间段的比值确定为CPU占用率,包括:通过运行在所述主机操作系统下的统计工具将所述第一时长与所述预设时间段的比值确定为与所述第一数据面线程绑定的虚拟核的CPU占用率。6.一种检测设备,所述检测设备包括虚拟网络设备和用于计算...

【专利技术属性】
技术研发人员:徐永新
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1