本文列出了%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消息。這些路由器配置了超過16 MB DRAM。
此消息僅在載入映像時出現,對系統操作或載入過程沒有影響。在任何情況下,這都是表面問題,因為它對系統正常運行沒有影響。
CPUHOG消息在OIR時很常見,因為路由器必須執行一組複雜且相對較長的任務。只要插入的卡正確啟動,無需擔心OIR期間出現的CPUHOG消息。
當您嘗試訪問快閃記憶體裝置(如快閃記憶體卡或快閃記憶體單內聯記憶體模組(SIMM))時,裝置有缺陷或裝置沒有響應時,可能會出現CPUHOG消息。如果問題仍然存在,請聯絡您的TAC代表。
註:如果您的Catalyst 6500執行整合式Cisco IOS軟體(原生模式)或混合模式,並在格式化MSFC(RP)bootflash:時具有CPUHOG訊息,則這可能是Cisco Bug ID CSCdw53175(僅限註冊客戶)中提到的問題,此問題在Cisco IOS軟體版本12.1.11b、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軟體內的程式執行超過2000ms(2秒)時,會顯示CPUHOG訊息。對於非常短的子網掩碼的思科快速轉發(CEF)更新,所需的處理時間可能超過2000毫秒,因此可能會觸發這些消息。「CEF IPC Background」進程是控制從轉發樹新增和刪除字首的父進程。
此外,如果CPU鎖定時間較長,線卡可能會因交換矩陣Ping故障而崩潰,或者由於IPC通訊超時丟失而禁用FIB。如需解決這些問題,請參閱疑難排解Cisco 12000系列Internet路由器上的交換矩陣Ping超時和故障。
一般來說,掩碼短於/7的路由更新是錯誤的或惡意的。思科建議所有客戶配置足夠的路由過濾,以防止處理和傳播此類更新。如果您在配置路由過濾器方面需要幫助,請聯絡您的技術支援代表。
清除邊界閘道通訊協定(BGP)或路由表時,由於「CEF IPC Background」程式,也可能會觸發CPUHOG訊息。
大多數情況下,這些錯誤訊息是由Cisco IOS軟體中的內部軟體錯誤所產生。
對此類錯誤訊息進行疑難排解的第一步是尋找已知錯誤。您可以使用Bug Toolkit(僅供已註冊客戶使用)找到與錯誤相符的錯誤。在Bug Toolkit頁面中,按一下Launch Bug Toolkit,然後選擇Search for Cisco IOS-related bug。為了縮小搜尋範圍,您可以在編號1下選擇您的Cisco IOS軟體版本。在編號3下,您可以對「CPUHOG, <process>」執行關鍵字搜尋,其中process是對應的程式,例如虛擬Exec或IP輸入。
您可以升級至版本系列中最新的Cisco IOS軟體映像,以消除所有已修正CPUHOG錯誤。
如果您在完成上述故障排除步驟後仍然需要幫助,並且希望向Cisco TAC提交服務請求(僅限註冊客戶),請確保包括以下資訊: |
---|
註:除非需要對Cisco 12000系列網際網路路由器上的線卡崩潰進行故障排除,否則請不要在收集上述資訊之前手動重新載入或重啟路由器,因為這樣可能會導致確定問題根本原因所需的重要資訊丟失。 |
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
24-Jun-2008 |
初始版本 |