本發(fā)明涉及一種基于bmc的cpu過(guò)熱保護(hù)方法,屬于服務(wù)器管理的技術(shù)領(lǐng)域。
背景技術(shù):
基板管理控制器(baseboardmanagementcontroller,簡(jiǎn)稱bmc)是獨(dú)立于設(shè)備主處理器的具有自備電源的微處理器,它可以通過(guò)傳感器芯片實(shí)時(shí)地采集計(jì)算機(jī)硬件設(shè)備的溫度、電壓、電源狀態(tài)等信息,bmc將設(shè)備維護(hù)端和硬件設(shè)備緊密地聯(lián)系起來(lái),通過(guò)bmc的通信接口,設(shè)備維護(hù)人員可以在設(shè)備維護(hù)端實(shí)時(shí)地觀察設(shè)備的健康狀況,在設(shè)備工作狀態(tài)出現(xiàn)異常時(shí)快速的定位故障原因,排除故障,維護(hù)設(shè)備的良好運(yùn)行狀況。維護(hù)人員也可以通過(guò)bmc對(duì)設(shè)備發(fā)送開(kāi)關(guān)機(jī)和重啟指令,遠(yuǎn)程的操控設(shè)備。bmc的存在大大的方便了設(shè)備維護(hù)人員對(duì)硬件設(shè)備的管理工作。
cpu過(guò)熱是計(jì)算機(jī)設(shè)備在工作過(guò)程中難免會(huì)遇到的問(wèn)題,引起cpu過(guò)熱的原因有很多,比如超負(fù)荷長(zhǎng)時(shí)間工作、供電電壓不穩(wěn)定或散熱措施不好等。輕微的cpu發(fā)熱不會(huì)對(duì)cpu性能及主板等造成特別嚴(yán)重的影響,然而,當(dāng)cpu溫度超過(guò)一定限度時(shí),比如嚴(yán)重超過(guò)cpu廠家規(guī)定的cpu正常工作范圍時(shí),cpu的性能便會(huì)降低,若長(zhǎng)時(shí)間工作在這種過(guò)熱狀態(tài)下,不僅cpu本身的使用壽命會(huì)縮短,而且會(huì)引起設(shè)備突然宕機(jī),甚至造成整個(gè)主板損壞的嚴(yán)重后果。一般cpu本身自帶保護(hù)措施,當(dāng)cpu過(guò)熱時(shí),一般通過(guò)降頻的方式降低cpu工作的頻率,然而,很多時(shí)候,即使降頻也不能緩解cpu持續(xù)過(guò)熱的危機(jī)狀況,需要其他手段輔助解決問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于bmc的cpu過(guò)熱保護(hù)方法。本發(fā)明有效地降低了cpu由于長(zhǎng)時(shí)間工作或不明原因引起的過(guò)熱對(duì)自身造成的損害以及由此可能引發(fā)的其余風(fēng)險(xiǎn)。
本發(fā)明的技術(shù)方案如下:
一種基于bmc的cpu過(guò)熱保護(hù)方法,包括:利用溫度傳感器芯片實(shí)時(shí)采集cpu的溫度,同時(shí)利用bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令:控制所述cpu對(duì)應(yīng)服務(wù)器的上電或掉電。
根據(jù)本發(fā)明優(yōu)選的,所述溫度傳感器芯片為w83795芯片,所述w83795芯片通過(guò)i2c總線與所述bmc芯片相連,所述w83795芯片的另一端與緊貼所述cpu的熱敏電阻相連。
根據(jù)本發(fā)明優(yōu)選的,所述bmc芯片的型號(hào)為ast2400。
根據(jù)本發(fā)明優(yōu)選的,所述bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令,包括:周期性監(jiān)測(cè)cpu溫度,通過(guò)判斷cpu溫度與設(shè)置的溫度閾值進(jìn)行比較并進(jìn)行計(jì)數(shù):當(dāng)監(jiān)測(cè)到的溫度連續(xù)多次超過(guò)溫度閾值時(shí),且次數(shù)超過(guò)設(shè)置的計(jì)數(shù)器閾值時(shí),bmc芯片給cpu對(duì)應(yīng)的主板發(fā)送關(guān)機(jī)指令并在日志中留下相關(guān)記錄。
根據(jù)本發(fā)明優(yōu)選的,所述bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令的具體步驟如下:
1)設(shè)置溫度閾值:標(biāo)識(shí)cpu溫度上限;設(shè)置計(jì)數(shù)器閾值:標(biāo)識(shí)cpu持續(xù)發(fā)熱時(shí)間的計(jì)數(shù)上限;將計(jì)數(shù)器清零;
2)所述溫度傳感器芯片周期性地采集cpu溫度,將采集到的cpu溫度與所述溫度閾值比較:
2-1)若cpu溫度超過(guò)cpu溫度上限,則計(jì)數(shù)器加1;然后判斷計(jì)數(shù)器中計(jì)數(shù)是否達(dá)到設(shè)置的計(jì)數(shù)上限:若達(dá)到計(jì)數(shù)上限,則通過(guò)bmc芯片給cpu對(duì)應(yīng)的主板發(fā)送關(guān)機(jī)指令并在日志中留下相關(guān)記錄;若沒(méi)有達(dá)到計(jì)數(shù)上限,則繼續(xù)周期性采集cpu溫度,重復(fù)步驟1)-2);
2-2)若cpu溫度沒(méi)達(dá)到cpu溫度上限,則判斷計(jì)數(shù)器中計(jì)數(shù)是否為正值:若為正值,則計(jì)數(shù)器減1,繼續(xù)周期性采集cpu溫度,重復(fù)步驟1)-2)。
本發(fā)明的技術(shù)優(yōu)勢(shì)在于:
本發(fā)明提出一種基于bmc的cpu過(guò)熱保護(hù)方法,有效地降低了cpu由于長(zhǎng)時(shí)間工作或不明原因引起的過(guò)熱對(duì)自身造成的損害以及由此可能引發(fā)的其余風(fēng)險(xiǎn)。本發(fā)明設(shè)計(jì):當(dāng)cpu過(guò)熱持續(xù)時(shí)間過(guò)長(zhǎng)時(shí),自動(dòng)關(guān)機(jī)并記錄下相關(guān)事件,其中,所述cpu的持續(xù)過(guò)熱時(shí)間是通過(guò)一個(gè)計(jì)數(shù)器衡量的,通過(guò)計(jì)數(shù)器的簡(jiǎn)單加減操作可以區(qū)分出cpu是持續(xù)過(guò)熱還是間歇性的發(fā)熱,以避免不必要的關(guān)機(jī)操作。
附圖說(shuō)明
圖1是本發(fā)明所述的方法的對(duì)應(yīng)的板卡級(jí)連接示意圖;
圖2是本發(fā)明所述方法的流程示意圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例和說(shuō)明書(shū)附圖對(duì)本發(fā)明做詳細(xì)的說(shuō)明,但不限于此。
如圖1、2所示。
實(shí)施例1、
一種基于bmc的cpu過(guò)熱保護(hù)方法,包括:利用溫度傳感器芯片實(shí)時(shí)采集cpu的溫度,同時(shí)利用bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令:控制所述cpu對(duì)應(yīng)服務(wù)器的上電或掉電。
所述溫度傳感器芯片為w83795芯片,所述w83795芯片通過(guò)i2c總線與所述bmc芯片相連,所述w83795芯片的另一端與緊貼所述cpu的熱敏電阻相連。
所述bmc芯片的型號(hào)為ast2400。
實(shí)施例2、
如實(shí)施例1所述的一種基于bmc的cpu過(guò)熱保護(hù)方法,其區(qū)別在于,所述bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令,包括:周期性監(jiān)測(cè)cpu溫度,通過(guò)判斷cpu溫度與設(shè)置的溫度閾值進(jìn)行比較并進(jìn)行計(jì)數(shù):當(dāng)監(jiān)測(cè)到的溫度連續(xù)多次超過(guò)溫度閾值時(shí),且次數(shù)超過(guò)設(shè)置的計(jì)數(shù)器閾值時(shí),bmc芯片給cpu對(duì)應(yīng)的主板發(fā)送關(guān)機(jī)指令并在日志中留下相關(guān)記錄。
實(shí)施例3、
如實(shí)施例2所述的一種基于bmc的cpu過(guò)熱保護(hù)方法,其區(qū)別在于,所述bmc芯片根據(jù)所述cpu的溫度變化給服務(wù)器的電源電路發(fā)命令的具體步驟如下:
1)設(shè)置溫度閾值:標(biāo)識(shí)cpu溫度上限;設(shè)置計(jì)數(shù)器閾值:標(biāo)識(shí)cpu持續(xù)發(fā)熱時(shí)間的計(jì)數(shù)上限;將計(jì)數(shù)器清零;
2)所述溫度傳感器芯片周期性地采集cpu溫度,將采集到的cpu溫度與所述溫度閾值比較:
2-1)若cpu溫度超過(guò)cpu溫度上限,則計(jì)數(shù)器加1;然后判斷計(jì)數(shù)器中計(jì)數(shù)是否達(dá)到設(shè)置的計(jì)數(shù)上限:若達(dá)到計(jì)數(shù)上限,則通過(guò)bmc芯片給cpu對(duì)應(yīng)的主板發(fā)送關(guān)機(jī)指令并在日志中留下相關(guān)記錄;若沒(méi)有達(dá)到計(jì)數(shù)上限,則繼續(xù)周期性采集cpu溫度,重復(fù)步驟1)-2);
2-2)若cpu溫度沒(méi)達(dá)到cpu溫度上限,則判斷計(jì)數(shù)器中計(jì)數(shù)是否為正值:若為正值,則計(jì)數(shù)器減1,繼續(xù)周期性采集cpu溫度,重復(fù)步驟1)-2)。
應(yīng)用例:
1、設(shè)置cpu溫度上限閾值和計(jì)數(shù)器計(jì)數(shù)上限閾值,計(jì)數(shù)器清零;
2、采集cpu溫度;
3、比較采集到的cpu溫度和cpu溫度閾值,若超過(guò)閾值,計(jì)數(shù)器加1,轉(zhuǎn)至步驟5,否則轉(zhuǎn)至步驟4;
4、判斷計(jì)數(shù)值是否大于0,若是,計(jì)數(shù)器減1,轉(zhuǎn)至步驟2,否則直接轉(zhuǎn)至步驟2;
5、判斷計(jì)數(shù)值是否達(dá)到計(jì)數(shù)器上限閾值,若是,轉(zhuǎn)至步驟6,否則轉(zhuǎn)至步驟2;
6、bmc芯片發(fā)送關(guān)機(jī)指令并在日志中留下記錄,結(jié)束。