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