BMC获取CPU温度的方法、装置及设备与流程

文档序号:15204891发布日期:2018-08-21 07:34阅读:891来源:国知局

本发明涉及计算机领域,特别是涉及一种bmc获取cpu温度的方法、装置、设备以及一种计算机可读存储介质。



背景技术:

bmc,全称基板管理控制器,是服务器特有的管理控制器,bmc可以自动监控服务器运行状态,并及时根据当前状态进行调控,其中主要的一个功能就是获取当前服务器各模块的温度,根据当前温度进行风扇转速控制及告警等操作。cpu作为服务器的核心,其温度的监控与告警是当前bmc温度监控中的最主要任务。

一般情况下,每个cpu核心中都内置了一个数字温度传感器。pc中,cpu可以通过特殊模块寄存器读取到当前的即时温度,并进一步调节风扇转速度,从而实现温度控制。而在服务器平台下,cpu本身没有办法控制风扇转速度,温度的控制通常是由bmc来做的,bmc直接或间接获取到cpu核心温度,再根据所有温度值调整风扇转速。

现代服务器系统中,bmc通常是通过ipmi协议从南桥上的intel管理引擎managementengine来获取cpu核心温度。managementengine是intel在南桥上的一个嵌入式微控制器,它可以通过南桥上的peci主控器访问cpu上的peci从设备,从而间接使用peci接口从cpu上获取温度。

但是在managementengine故障及其他特殊情况下,无法获取当前服务器运行状况,会导致服务器管理系统不稳定。



技术实现要素:

本发明的目的是提供一种bmc获取cpu温度的方法,用以解决管理控制器managementengine故障会导致服务器管理系统不稳定的问题。

为解决上述技术问题,本发明提供一种bmc获取cpu温度的方法,包括:

利用管理控制器managementengine获取cpu的温度值;

判断所述温度值是否为异常温度值;

若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值。

其中,所述利用管理控制器managementengine获取cpu的温度值包括:

利用管理控制器managementengine获取cpu在预设时间段内的多个温度值;

所述判断所述温度值是否为异常温度值包括:

分别判断多个所述温度值是否均为异常温度值。

其中,在所述若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值之后,还包括:

判断所述真实温度值是否为异常温度值;

若所述真实温度不为异常温度值,则保存所述真实温度值。

其中,在所述判断所述真实温度值是否为异常温度值之后,还包括:

若所述真实温度值不为异常温度值,则判断所述真实温度值是否在cpu工作温度区间;

若所述真实温度值不在cpu工作温度区间,则向风扇发送调节所述cpu温度的指令。

本发明还提供了一种bmc获取cpu温度的装置,包括:

温度值获取模块:用于利用管理控制器managementengine获取cpu的温度值;

温度值判断模块:用于判断所述温度值是否为异常温度值;

真实温度值获取模块:用于若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值。

其中,所述温度值获取模块具体用于:

利用管理控制器managementengine获取cpu在预设时间段内的多个温度值;

所述温度值判断模块具体用于:

分别判断多个所述温度值是否均为异常温度值。

其中,所述装置还包括:

第一真实温度值判断模块:用于判断所述真实温度值是否为异常温度值;

真实温度值保存模块:用于若所述真实温度不为异常温度值,则保存所述真实温度值。

其中,所述装置还包括:

第二真实温度值判断模块:用于若所述真实温度值不为异常温度值,则判断所述真实温度值是否在cpu工作温度区间;

温度调节指令发送模块:用于若所述真实温度值不在cpu工作温度区间,则向风扇发送调节所述cpu温度的指令。

此外,本发明还提供了一种bmc获取cpu温度的设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序以实现如上所述的bmc获取cpu温度的方法的步骤。

最后,本发明还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的bmc获取cpu温度的方法的步骤。

本发明所提供的bmc获取cpu温度的方法,在利用管理控制器managementengine获取cpu的温度值之后,判断所述温度值是否为异常温度值,若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值,从而避免了由于管理控制器managementengine故障,无法获取cpu的温度值造成的服务器管理系统不稳定的问题,提高了服务器管理系统的稳定性。

本发明还提供了一种bmc获取cpu温度的装置、设备及计算机存储介质,其作用与上述方法的作用相对应,这里不再赘述。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种bmc获取cpu温度的方法实施例的实现流程图;

图2为本发明提供的一种bmc获取cpu温度的装置实施例的结构框图。

具体实施方式

本发明的核心是提供一种bmc获取cpu温度的方法、装置、设备以及一种计算机可读存储介质,一定程度上提高了服务器管理系统的稳定性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面开始详细介绍本发明提供的bmc获取cpu温度的方法实施例,参见图1,该实施例具体包括:

步骤s11:利用管理控制器managementengine获取cpu的温度值。

具体的,可以预先添加通过peci获取cpu温度的函数,直接通过peci控制器对寄存器地址进行读取,获取当前的cpu核心温度。

需要说明的是,考虑到管理控制器managementengine一次获取的温度值可能不准确,甚至根本没有获取到,可以利用管理控制器managementengine获取cpu在预设时间段内的多个温度值。

步骤s12:判断所述温度值是否为异常温度值。

与上述获取cpu在预设时间段内的多个温度值相对应,判断时可以分别判断多个所述温度值是否均为异常温度值。

这里的异常温度值,指的是在正常情况下,cpu的温度值不会取到的值,可以是一个范围值。

步骤s13:若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值。

获取到真实温度值之后,还可以继续判断所述真实温度值是否为异常温度值,若所述真实温度不为异常温度值,则保存所述真实温度值,将真实温度值显示出来,或者进一步判断所述真实温度值是否在cpu工作温度区间,若所述真实温度值不在cpu工作温度区间,则向风扇发送调节所述cpu温度的指令。

本实施例所提供的bmc获取cpu温度的方法,在利用管理控制器managementengine获取cpu的温度值之后,判断所述温度值是否为异常温度值,若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值,从而避免了由于管理控制器managementengine故障,无法获取cpu的温度值造成的服务器管理系统不稳定的问题,提高了服务器管理系统的稳定性。

下面对本发明实施例提供的bmc获取cpu温度的装置进行介绍,下文描述的bmc获取cpu温度的装置与上文描述的bmc获取cpu温度的方法可相互对应参照。

图2为本发明实施例提供的bmc获取cpu温度的装置的结构框图,参照图2,该装置具体包括:

温度值获取模块21:用于利用管理控制器managementengine获取cpu的温度值;

温度值判断模块22:用于判断所述温度值是否为异常温度值;

真实温度值获取模块23:用于若所述温度值为异常温度值,则通过peci总线获取所述cpu的真实温度值。

其中,所述温度值获取模块具体用于:

利用管理控制器managementengine获取cpu在预设时间段内的多个温度值;

所述温度值判断模块具体用于:

分别判断多个所述温度值是否均为异常温度值。

其中,所述装置还包括:

第一真实温度值判断模块:用于判断所述真实温度值是否为异常温度值;

真实温度值保存模块:用于若所述真实温度不为异常温度值,则保存所述真实温度值。

其中,所述装置还包括:

第二真实温度值判断模块:用于若所述真实温度值不为异常温度值,则判断所述真实温度值是否在cpu工作温度区间;

温度调节指令发送模块:用于若所述真实温度值不在cpu工作温度区间,则向风扇发送调节所述cpu温度的指令。

本实施例的bmc获取cpu温度的装置用于实现前述的bmc获取cpu温度的方法,因此该装置中的具体实施方式可见前文中的bmc获取cpu温度的方法的实施例部分,例如,温度值获取模块21、温度值判断模块22、真实温度值获取模块23,分别用于实现上述bmc获取cpu温度的方法中步骤s101,s102,s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

由于本实施例提供的bmc获取cpu温度的装置,用于实现前述bmc获取cpu温度的方法,因此其作用可以与前述bmc获取cpu温度的方法的作用相对应,这里不再赘述。

此外,本发明还提供了一种bmc获取cpu温度的设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序以实现如上所述的bmc获取cpu温度的方法的步骤。

最后,本发明还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的bmc获取cpu温度的方法的步骤。

由于本发明提供的bmc获取cpu温度的设备及计算机可读存储介质,用于实现前述bmc获取cpu温度的方法,因此其作用与上述方法的作用相对应,这里不再展开描述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的bmc获取cpu温度的方法、装置、设备及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1