簡介
本檔案介紹用於正確向TAC報告高CPU/QFP問題的一般疑難排解,以加快案例解決速度。
必要條件
需求
思科建議您瞭解以下主題的基本知識:
- Cisco IOS®-XE資料包轉發架構的基本知識。
- 使用資料包跟蹤功能的基本體驗。
採用元件
本文件所述內容不限於特定軟體和硬體版本。它適用於具有物理/虛擬化QFP的任何路由Cisco IOS-XE®平台,如ASR1000、ISR4000、ISR1000、Cat8000或Cat8000v。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
本文檔概述了TAC在首次聯絡時獲得良好TAC體驗的高CPU/QFP問題初始分類時所需的命令。
此外,本文包含疑難排解提示,用於識別高中央處理器(CPU)或高量子流處理器(QFP)使用率問題,以便您可以在開啟TAC案例之前找到解決方案。
本文的目的並非詳細解釋任何故障排除過程。如果可用,請參閱深入的故障排除指南中的更多內容。
在本文檔末尾,有用於教育目的的方框圖作為元件的可視表示。
高元件(記憶體、TCAM、CPU、QFP)利用率通常表示以下任一情況:
- 裝置上出現問題(即進程未按預期運行,可能存在軟體問題)或網路環境中出現問題(即突發流量、環路)
- 達到裝置的硬體限制(即裝置上運行的流量/功能過多)
確定元件利用率高的根本原因對於確定解決該問題的正確行動方針至關重要。
QFP/CPU使用率高的症狀
您可以通過監控工具或通過以下命令驗證是否存在高CPU或QFP情況:
控制平面(CPU)- IOSd
show process cpu sorted
iosxe_router#show process cpu sorted
CPU utilization for five seconds: 90%/0%; one minute: 0%; five minutes: 0%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
395 78769 1242162 63 89.07% 88.04% 89.02% 0 CDP Protocol
1 8 88 90 0.00% 0.00% 0.00% 0 Chunk Manager
--- snip ---
在「CPU使用率達五秒:90% / 0%;一分鐘:0%;五分鐘:0%,」您需要關注「五秒」字串之後的第一個值。在本例中,90%表示總體CPU使用率,而在本例中,斜槓–0右邊的數字表示由於中斷導致的CPU使用率。這兩個數字之間的差異表示進程導致的CPU總利用率。在這種情況下,CDP協定會佔用大部分CPU(控制平面)資源。
控制平面 — 核心(CPU)
由於Cisco IOS-XE具有基於Linux的核心,有時您會發現在其上面運行的任何進程出現問題,因此您可以使用show processes CPU平台進行排序,以驗證是否有任何進程導致問題(請聚焦5sec列)來顯示底層作業系統中的進程。
iosxe_router#show process cpu platform sorted
-- depending on the architecture, there can be multiple cores, deleting for brevity --
Pid PPid 5Sec 1Min 5Min Status Size Name
--------------------------------------------------------------------------------
18009 18001 323% 325% 328% R 266740 ucode_pkt_PPE0
11168 11160 1% 1% 1% S 914556 linux_iosd-imag
96 2 1% 0% 0% S 0 ksmd
--- snip ---
注意:具有虛擬QFP的路由器具有ucode_pkt_PPE0過程,該過程是模擬資料平面的軟體過程。因此,可以從導致CPU使用率的進程清單中忽略該進程。
資料平面(QFP)
QFP是晶片上的系統,負責轉發所有資料包。有關更多資訊,請參閱以下章節:瞭解IOS-XE路由器上的高QFP。
iosxe_router #show platform hardware qfp active datapath utilization
CPP 0: Subdev 0 5 secs 1 min 5 min 60 min
--- snip ---
(bps) 21992 13648 13736 13720
Processing: Load (pct) 0 0 0 0
Crypto/IO
RX: Load (pct) 0 0 0 0
TX: Load (pct) 1 1 1 0
Idle (pct) 99 99 99 99
在show platform hardware qfp active data path utilization命令中,重點處理以下內容:載入「5秒」列,因為它提供了最新的整體QFP使用情況。有些裝置還顯示Crypto/IO模組的使用情況,重點是Idle,越接近100%,越好。
已檢視的潛在日誌
預設情況下,系統不會生成顯示CPU使用率較高的IOSd(使用CPU編號0,Cisco IOS-XE系統上的第一個CPU)的日誌。
必須先配置此命令,以便在第一個核心上生成系統日誌。
必須按照CPU閾值通知: 中描述的格式編寫此命令process cpu threshold type {total |過程 |中斷}上升百分比間隔秒[下降百分比間隔秒]
這樣,我們就能看到此類通知:
%SYS-1-CPURISINGTHRESHOLD: Threshold: Total CPU Utilization(Total/Intr): 91%/2%, Top 3 processes(Pid/Util):
捕獲其高使用率的另一種方法是通過SNMP或遙測測量。
在某些情況下,當其他核心達到高使用率時,您會看到像這樣的資源限制警報:
PLATFORM_INFRA-5-IOS_INTR_OVER_LIMIT:
對於資料平面,我們會在日誌中看到此型別的QFP警報,通常指示超出閾值負載:
MCPRP-QFP-ALERT: Slot: 0, QFP:0, Load 93% exceeds the setting threshold(80%).
初始分類的TAC需求資訊
- 觀察到CPU使用率較高時,這些命令的輸出:
- show clock
- 顯示版本
- 顯示正在運行
- show process cpu sorted
- show process cpu history
- 顯示平台資源
- show platform hardware qfp active datapath utilization summary
- show logging
- 網路拓撲.
- CPU/QFP利用率歷史記錄圖表。
- 提供詳細的其他資訊,例如最近的網路或配置更改、預期流量率/流量。
如果CPU未固定為100%,請包括show tech輸出。這對TAC非常有幫助,您可以從TAC開發的幫助您更快找到問題的自動化中獲益。
附註:出現問題時,必須排除高CPU的情況,因為裝置不儲存任何有關進程運行時間的歷史資料。
附註:確保運行的是受支援的版本。查詢該版本的銷售終止和生命週期終止文檔。如果需要,請移動到當前軟體維護版本下的版本。否則,TAC在故障排除和解決方法選項方面會受到限制。
瞭解高CPU/QFP使用率
通常,如果CPU/QFP運行率高於80%,則認為其運行率較高。
Cisco IOS-XE路由器可與控制平面(CPU)或資料平面(QFP)中的高利用率相關聯。
附註:理想情況下,必須根據裝置隨時間變化的典型使用模式來評估高CPU/QFP利用率。例如,如果裝置通常以10%的CPU使用率運行,但突然跳至40%,這可能表明該裝置的CPU使用率較高。另一方面,如果CPU使用率始終為80%的裝置,如果這是其正常操作級別,則未必是問題。具有CPU圖形的監控系統可幫助收集和分析此資料,從而為每個裝置建立基線。
一般故障排除步驟
- 確定問題是控制平面(CPU)還是資料平面(QFP)。
- 通過特定命令識別違規流程。
- 根據進程名稱,對該進程進行Web搜尋:
- 側重於將流程與已知功能/配置相匹配。
- 檢查是否存在任何與進程名稱和行為匹配的軟體缺陷。如果存在,請實施變通方法或軟體升級到固定版本。
- 藉助CPU/QFP圖表,確定CPU/QFP開始增加其使用率的確切時間。如果它與最近的更改相匹配,請還原到初始配置/軟體版本並檢查結果。
- 如果Web搜尋未提供有用的結果,或您認為功能執行錯誤,請透過以下資訊建立TAC案例:
- show tech
- 收集的命令(檢視TAC初始分類所需的資訊部分)。
- 嘗試根據特定配置更改匹配問題開始的時間,並在開啟TAC案例時包含此資訊。
- 如果資料平面被確定為問題:提供流經裝置的網路拓撲、預期使用者數和典型通訊速率。
- 如果可用,請提供CPU/QFP利用率歷史記錄圖表。
瞭解Cisco IOS-XE路由器上的高CPU
Cisco IOS-XE路由器上的CPU是指負責裝置管理/控制平面操作的CPU。裝置上運行著許多進程,所有進程都在基於Linux的核心上運行。這些進程中的每一個都在通用CPU中運行。
如果存在高CPU條件,則通常指示以下情況:
- 一個或多個進程必須完成高強度的任務。
- 一個或多個進程未按預期工作。
- 控制平面接收和處理資料平面傳送的資料包。
某些平台具有多個通用CPU,它們遵守以下規則:
- 如果Cisco IOS-XE路由器是模組化的(即接受多個卡,如路由處理器、嵌入式服務處理器、SPA介面處理器),則有多個CPU可用於控制平面操作,並且每個卡都有一個通用CPU。
- 如果Cisco IOS-XE路由器是嵌入式路由器,且只接受服務模組或介面卡,則路由器具有單個通用CPU(虛擬或物理),該通用CPU被視為位於路由處理器中(如show platform resources輸出所示)。
在Cisco IOS XE裝置上,我們通常擁有資料平面和控制平面CPU專用核心。
通常,如果CPU 0(第一個CPU)繫結到IOSd(IOS守護程式),則CPU專用核心與控制平面相關。其他CPU可以是控制平面和資料平面CPU的混合。
對於ASR 1000(一般是模組化的),命令輸出(如show platform resources和show platform software status control-processor brief)顯示控制平面(RP)和資料平面(ESP)CPU的使用情況。
控制平面CPU專用於控制協定處理,如處理BGP協定、STP協定、CDP、SSH等。控制平面CPU處理髮往路由器自身的資料包,以便進行處理。
資料平面一般是指路由器在路由處理器(RP)中不消耗其本身的傳輸封包,相反,資料平面處理只會在封包處理器量子流處理器(QFP)元件中處理的封包。這些封包的處理在QFP中,其中查詢操作恰好將傳輸封包傳送到其預期目的地。
瞭解Cisco IOS-XE路由器上的高QFP
量子流處理器(QFP)是片上系統(SoC),負責裝置中的所有資料包轉發操作。
QFP運行一種名為microcode的專用軟體。此微碼負責根據輸入/輸出介面配置對通過裝置的所有資料包執行並應用功能。它還可以通過不同的流程與系統的其餘部分互動。
當存在高QFP條件時,它通常是以下情況的指示器:
- QFP處理過多的網路流量(每秒資料包數)。
- QFP必須處理高強度特徵。
- 每秒資料包數加上高密集型功能的組合對QFP利用率的影響更大。
- 微碼處理方式不對。
為了更好地瞭解情況,TAC必須收集功能呼叫陣列(FIA)跟蹤以進行其他分析。有關詳細資訊,請參閱使用IOS-XE資料路徑封包追蹤功能進行疑難排解
Cisco IOS-XE路由器(ISR4300/4200/4400/4600系列、Cat8200/8300/8500、CSR1000v、CAT8000v)上的高CPU/QFP
以下是必須在發出時收集的基本命令(可以實現EEM邏輯以匹配日誌通知並獲得輸出):
router_non_modular#show platform resources
**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 10.64% 100% 80% 90% H
DRAM 2143MB(54%) 3913MB 88% 93% H
bootflash 2993MB(97%) 3099MB 70% 90% C
ESP0(ok, active) H
QFP H
DRAM 52844KB(20%) 262144KB 85% 95% H
IRAM 207KB(10%) 2048KB 85% 95% H
CPU Utilization 0.00% 100% 90% 95% H
Router#show platform software status control-processor brief
Load Average
Slot Status 1-Min 5-Min 15-Min
RP0 Healthy 1.75 1.25 1.14
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
RP0 Healthy 4003008 2302524 (58%) 1700484 (42%) 3043872 (76%)
CPU Utilization
Slot CPU User System Nice Idle IRQ SIRQ IOwait
RP0 0 5.60 10.80 0.00 75.00 0.00 0.10 8.50
1 8.10 11.81 0.00 66.66 0.00 0.20 13.21
2 4.69 9.49 0.00 80.81 0.00 0.19 4.79
3 4.80 10.20 0.00 79.30 0.00 0.10 5.60
4 3.70 3.20 0.00 92.90 0.00 0.00 0.20
5 1.09 2.99 0.00 95.00 0.00 0.09 0.79
6 20.00 33.10 0.00 46.90 0.00 0.00 0.00
7 0.00 0.00 0.00 100.00 0.00 0.00 0.00
Router#
模組化Cisco IOS-XE路由器(ASR1k系列)上的高CPU
模組化Cisco IOS-XE路由器中的高CPU使用率在路由處理器(RP)卡、嵌入式服務處理器(ESP)或SPA介面處理器(SIP)卡中可能有高CPU使用狀況。以下命令有助於瞭解高CPU狀態是否與裝置中的其他卡相關:
ios_xe_modular_router#show platform resources
**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 11.62% 100% 90% 95% H
DRAM 1730MB(45%) 3783MB 90% 95% H
ESP0(ok, active) H
Control Processor 19.59% 100% 90% 95% H
DRAM 616MB(65%) 946MB 90% 95% H
QFP H
TCAM 8cells(0%) 65536cells 45% 55% H
DRAM 79212KB(30%) 262144KB 80% 90% H
IRAM 9329KB(7%) 131072KB 80% 90% H
SIP0 H
Control Processor 2.30% 100% 90% 95% H
DRAM 280MB(60%) 460MB 90% 95% H
*根據Cisco IOS版本,QFP可以包含處理器使用情況,否則您需要收集show platform hardware qfp datapath utilization
有關ASR1k的良好參考指南,請參閱排除ASR1000系列路由器上的高CPU故障
附註:命令有時因平台和版本而異。在某些情況下,尋找特定平台文檔。