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