本文檔幫助排除不響應的系統故障。本文檔還討論了問題的原因以及如何消除問題。
當系統不響應控制檯或網路傳送的查詢(例如Telnet、簡單網路管理協定(SNMP)等)時,路由器似乎會停止工作。這些問題可分為兩大類:
當控制檯不響應時。
當流量不透過時。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
所有Cisco IOS®軟體版本
所有思科路由器
本文檔不適用於Cisco Catalyst交換機或MGX平台。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
當路由器對控制檯埠上的輸入無響應時,就會出現控制檯問題。如果控制檯沒有響應,則意味著高優先順序進程會阻止控制檯驅動程式響應輸入。
檢驗電纜連通性。
驗證電源是否打開。
檢驗路由器LED狀態。如果所有LED都熄滅,則很可能是路由器的電源問題。
如果流量仍流經路由器:
斷開網路介面連線,檢視路由器是否響應。很多時候,路由器會認為它在執行太重要的操作,因而無法維護執行會話。
發出以下命令後,還可以嘗試重現該問題:
在Cisco 7200和7500系列上:
configure terminal scheduler allocate 3000 1000 ^Z
scheduler allocate命令確保為低優先順序進程分配相應的CPU時間。它為每個網路中斷情景分配了分配給快速交換(3000微秒- usec)和進程交換(1000 usec)的最大時間。
在所有其他平台上,使用:
configure terminal scheduler interval 500 ^Z
scheduler interval命令允許每隔500 usec計劃一些低優先順序進程,從而即使在CPU使用率為100%時,仍允許鍵入一些命令。
有關這些命令的詳細資訊,請檢視「Cisco IOS軟體命令參考」中的基本系統管理命令。
如果控制檯因路由器CPU使用率高而未響應,必須查詢並糾正CPU使用率高的原因。例如,如果進程交換的IP流量引起問題,然後此問題又反映在show processes cpu命令輸出的「IP輸入」進程中。在這種情況下,收集show interfaces、show interfaces stat和show processes的輸出非常重要,可用於進一步診斷問題。要解決此問題,您需要減少進程交換的IP流量。有關詳細資訊,請參閱對Cisco路由器上的高CPU利用率進行故障排除。
另一個明顯掛起的可能原因是記憶體分配失敗;也就是說,路由器已使用所有可用記憶體,或者記憶體被分段為非常小的片段,以致路由器無法找到可用的可用塊。有關詳細資訊,請參閱排除記憶體問題。
路由器可能會因安全相關問題(如蠕蟲或病毒)而停止響應。如果最近未對網路進行更改(例如路由器IOS升級),這尤其可能是原因。通常,配置更改(例如向訪問清單增加其他行)可以緩解此問題的影響。Cisco安全建議和通知頁包含有關檢測最可能的原因和具體解決方法的資訊。
如需詳細資訊,請參閱:
如果路由器在啟動過程中出現凍結,則可能是由於功能配置不當或功能配置中的軟體缺陷導致的。這通常在路由器凍結之前控制檯上出現警告或錯誤消息時即可看出。
解決此問題的方法是,將路由器引導到ROMMON,繞過儲存的配置,然後重新進行配置。請完成以下步驟:
將終端機或具有終端模擬的PC連線到路由器的主控台連線埠。
使用以下終端機設定:
9600波特
無奇偶校驗
8個資料位
1停止位元
無流量控制
在通電後的60秒內透過按終端鍵盤上的break重新啟動路由器並進入ROMMON。如果中斷序列不起作用,請參閱口令恢復過程中的標準中斷鍵順序組合,以獲取其他鍵組合。
將配置暫存器更改為0x2142,然後重置路由器。為此,請在rommon 1>提示符處執行confreg 0x2142命令。然後在rommon 2>提示符處鍵入reset。這會導致路由器從快閃記憶體引導而不載入配置。
在每個設定問題後鍵入no 或按Ctrl-C跳過初始設定過程。
在Router>提示符處鍵入enable。
您將處於啟用模式,並且會看到Router#提示。
現在,您可以儲存一個空配置(刪除所有命令)。發出copy running-config startup-config命令。或者,如果您懷疑是某條命令導致了問題,則可以編輯配置。為此,請發出copy startup-config running-config命令。然後鍵入configure terminal,並進行更改。
完成後,將配置暫存器更改回0x2102。為此,請鍵入config-register 0x2102。發出copy running-config startup-config命令以提交更改。
如果流量不透過路由器:
如果流量不再透過路由器,並且控制檯無響應,則可能是系統出現了問題。這通常表示路由器陷入連續環路或卡在某個功能上。這幾乎都是由軟體中的Bug所造成。安裝您當前運行的Cisco IOS軟體系列的最新維護版本。
在使用Cisco TAC建立服務請求之前,請從ROM Monitor獲取堆疊跟蹤。在出現問題時獲取堆疊跟蹤,可以確定路由器在代碼中的循環或停滯位置。
當控制檯保持響應但流量不透過路由器時,就會發生流量問題。在這種情況下,部分流量或部分介面沒有響應。此行為可能由多種不同的原因引起。發生此問題時,可以透過控制檯埠從路由器收集資訊。造成這些流量問題的原因可能包括介面上的錯誤以及軟體和硬體問題。
路由問題 -網路拓撲或某些路由器配置的更改可能已影響路由表。
高CPU利用率 -發出show process cpu命令。如果CPU使用率高於95%,可能會影響路由器的效能,並且可能會延遲或丟棄資料包。有關詳細資訊,請參閱對路由器上的高CPU利用率進行故障排除。
介面關閉 -路由器介面之一可能關閉。可能有多個事件導致此情況,從錯誤配置命令到介面或電纜的硬體故障,情況可能有所不同。發出show interfaces命令後,如果一些介面顯示為關閉,請設法找出其原因。
楔入介面 -這是一種特殊的緩衝區洩漏,它會導致介面的輸入隊列充滿,使隊列無法再接收資料包。重新載入路由器。這將釋放該輸入隊列,並恢復流量,直到該隊列再次滿。根據洩漏的嚴重程度,這可能需要幾秒到幾週的時間。
辨識楔形介面的最簡單方法是發出show interfaces命令,然後尋找類似於此:
Output queue 0/40, 0 drops; input queue 76/75, 27 drops
有關詳細的指南和示例,請參閱排查緩衝區洩漏故障。
K-trace指用於從ROM Monitor從路由器獲取堆疊跟蹤的過程。在具有較舊的ROM Monitor代碼的路由器上,透過k命令可獲取堆疊跟蹤。在運行最新ROM Monitor代碼的路由器上,還可以使用stack命令。
完成以下步驟,從沒有回應的路由器取得堆疊追蹤:
啟用中斷序列。為此,請更改配置暫存器值。八位值必須設定為零,這樣才能不忽略中斷。值為0x2002時有效。
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#config-register 0x2002
重新載入路由器,以便使用新的配置暫存器值。
發生問題時傳送中斷序列。必須顯示ROM Monitor提示符「>」或「rommon 1 >」。
擷取堆疊追蹤。為此,請收集k 50或stack 50命令的輸出。向命令中增加50以列印更長的堆疊跟蹤。
發出c或cont命令繼續。
多次重複最後三個步驟,以確保已捕捉連續回圈中的多個點。
取得多個堆疊追蹤軌跡後,請重新啟動路由器,以從停滯狀態中復原。
以下為此程式的範例:
User break detected at location 0x80af570 rommon 1 > k 50 Stack trace: PC = 0x080af570 Frame 00: FP = 0x02004750 RA = 0x0813d1b4 Frame 01: FP = 0x02004810 RA = 0x0813a8b8 Frame 02: FP = 0x0200482c RA = 0x08032000 Frame 03: FP = 0x0200483c RA = 0x040005b0 Frame 04: FP = 0x02004b34 RA = 0x0401517a Frame 05: FP = 0x02004bf0 RA = 0x04014d9c Frame 06: FP = 0x02004c00 RA = 0x040023d0 Frame 07: FP = 0x02004c68 RA = 0x04002e9e Frame 08: FP = 0x02004c78 RA = 0x040154fe Frame 09: FP = 0x02004e68 RA = 0x04001fc0 Frame 10: FP = 0x02004f90 RA = 0x0400c41e Frame 11: FP = 0x02004fa4 RA = 0x04000458 Suspect bogus FP = 0x00000000, aborting rommon 2 > cont
發生系統問題時,多次重複此程式以收集堆疊追蹤的多個執行個體。
當路由器不響應時,幾乎總是軟體問題。在這種情況下,請在發出TAC服務請求之前收集儘可能多的資訊,包括堆疊跟蹤。包括show version、show run和show interfaces命令的輸出也非常重要。
如果打開TAC服務請求,請向請求中附加以下資訊,以排查路由器掛起故障: |
註:如果控制檯有響應,請勿在收集上述資訊之前手動重新載入路由器或重新啟動路由器,除非需要排除路由器掛起故障,因為這可能導致確定問題根本原因所需的重要資訊丟失。 |
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
02-Aug-2006 |
初始版本 |