本文檔列出了%SYS-3-CPUHOG錯誤消息的原因,並說明了如何排除這些錯誤消息故障。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
為了減少失控進程的影響,Cisco IOS®軟體使用進程監視器計時器,允許排程程式定期輪詢當前活動的進程。此功能與搶佔不同。相反,它是一個故障安全機制,可確保系統不會因任何進程總消耗CPU而變得無響應或完全鎖定。
如果某個進程似乎掛起(例如,如果它長時間繼續運行),排程程式可以強制終止進程。
每當排程程式允許進程在CPU上運行,它就會啟動該進程的監視器計時器。在預設時段過後,如果進程繼續運行,監視器進程將生成中斷並因「軟體強制崩潰」導致路由器重新啟動(堆疊跟蹤顯示監視器進程是崩潰的觸發器)。
監視程式第一次過期時,排程程式會列印一條警告消息,例如:
%SYS-3-CPUHOG: Task ran for 2148 msec (20/13), Process = IP Input, PC = 3199482 -Traceback= 314B5E6 319948A
此訊息表示處理序已保留CPU。這裡是「IP輸入」過程。此訊息通常會在暫時狀況下出現,例如路由器啟動時的線上插入和移除(OIR),或是發生大量流量狀況時。路由器正常運行期間不能出現「%SYS-3-CPUHOG」消息。
如果路由器在進程計畫運行後處於中斷級別的忙碌狀態,則進程運行持續時間的記賬可能不準確。這是因為,CPUHOG只跟蹤進程級任務。它不跟蹤允許中斷和獲得CPU控制權的中斷級別任務。
在中斷級別運行的典型進程是分組交換。
本節介紹如何排除不同場景中的CPUHOG消息故障。
啟動順序時的CPUHOG訊息相當常見。錯誤訊息本身表示開機程式保留CPU的時間比系統想要的稍長,然後傳送訊息給主控台輸出通知您。此例中的進程是「引導載入」,它指示發生CPUHOG的位置:
System Bootstrap, Version 11.1(12)XA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Copyright (c) 1997 by cisco Systems, Inc. C1600 processor with 16384 Kbytes of main memory program load complete, entry point: 0x4018060, size: 0x108968 %SYS-3-CPUHOG: Task ran for 2040 msec (6/6), Process = Boot Load, PC =40B513A -Traceback= 407EB6E 407F628 407D118 40180E0 40005B0 4015C3E 40152B2 4014ED4 40025B8 4003086 4015636 40021A8 400C616program load complete, entry point: 0x2005000, size: 0x4195b9 Self decompressing the image : ############################################################################ ############################################################################ ################################################################## [OK]
您可以放心地忽略此錯誤訊息。在啟動程式時,啟動載入器會使用CPU 2-4秒,但不會釋放它。在開機時這不是問題,因為CPU需要在該點僅執行開機載入器。較新的啟動ROM會抑制該特定訊息的列印。
每當路由器載入大映像(例如,當您使用Cisco 1600系列路由器時),您也會從引導幫助程式映像遇到CPUHOG消息。這些路由器配置的DRAM超過16 MB。
只有在載入影像時,才會出現此訊息,而且此訊息對系統或載入程式的操作沒有影響。在任何情況下,這都是表面問題,因為它對系統正常操作沒有影響。
CPUHOG消息在OIR時很常見,因為路由器必須執行一組複雜且相對較長的任務。只要插入的卡正確顯示,就不必擔心OIR期間發生的CPUHOG消息。
當您嘗試存取快閃裝置(例如快閃記憶體卡或快閃單一內嵌記憶體模組(SIMM))時,或當裝置發生故障或未回應時,可能會出現CPUHOG訊息。如果問題再次出現,請與TAC代表聯絡。
注意:如果您的Catalyst 6500執行整合式Cisco IOS軟體(原生模式)或混合模式,且格式化MSFC (RP) bootflash時有CPUHOG訊息,則可能是思科錯誤ID中提到的問題CSCdw53175(僅限註冊客戶),可在Cisco IOS軟體版本12.1.11b、12.1(12c)E5或12.1(13)E和更新版本中解決。
在Cisco 12000系列網際網路路由器上,轉發資訊庫(FIB)儲存在每個板卡上,用於分組交換。由於FIB樹的結構,使用短子網掩碼(介於/1和/4之間)的路由更改會導致控制檯日誌中出現如下消息:
SLOT 1: %SYS-3-CPUHOG: Task ran for 4024 msec (690/0), process = CEF IPC Background, PC = 400B8908. -Traceback= 400B8910 408FF588 408FF6F4 408FFE8C 400A404C 400A4038
Cisco IOS軟體中的程式執行時間超過2000毫秒(2秒)時,會顯示CPUHOG訊息。如果使用Cisco Express Forwarding (CEF)更新非常短的子網掩碼,則所需的處理時間可能會超過2000毫秒,從而觸發這些消息。「CEF IPC Background」進程是控制從轉發樹增加和刪除字首的父進程。
此外,如果CPU鎖定時間較長,線路卡可能會因Fabric Ping故障而崩潰,或者由於IPC通訊超時丟失,FIB可能會變為停用。如果您需要對這些問題進行故障排除,請參閱對Cisco 12000系列Internet路由器上的Fabric Ping超時和失敗進行故障排除。
一般來說,掩碼短於/7的路由更新是錯誤的或惡意的。思科建議所有客戶配置足夠的路由過濾,以防止處理和傳播此類更新。如果需要配置路由過濾器的幫助,請與技術支援代表聯絡。
當您清除邊界閘道通訊協定(BGP)或路由表時,由於「CEF IPC Background」程式,也會觸發CPUHOG訊息。
大多數情況下,這些錯誤消息是由Cisco IOS軟體中的內部軟體Bug引起的。
排除此類錯誤訊息故障的第一步是尋找已知錯誤。您可以使用Bug工具組(僅供註冊客戶使用)尋找與錯誤相符的錯誤。在Bug Toolkit頁上,按一下Launch Bug Toolkit,然後選擇Search for Cisco IOS-related bugs。為了縮小搜尋範圍,您可以在數字1下選擇您的Cisco IOS軟體版本。在數字3下面,您可以執行關鍵字搜尋以查詢「CPUHOG, <process>」,其中,process 是對應的進程,如Virtual Exec或IP Input。
您可以升級到版本系列中最新的Cisco IOS軟體映像,以消除所有已修復的CPUHOG錯誤。
如果執行上述故障排除步驟後仍需幫助,並且要向Cisco TAC 提交服務請求(僅供註冊客戶使用),請確保包括以下資訊: |
---|
注意:除非需要對Cisco 12000系列Internet路由器上的板卡崩潰進行故障排除,否則請勿在收集上述資訊之前手動重新載入路由器或對路由器重新加電,因為這樣做可能導致確定問題根本原因所需的重要資訊丟失。 |
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
24-Jun-2008 |
初始版本 |