本文档介绍用于正确向TAC报告高CPU/QFP问题的常规故障排除,以加快案例解决速度。
Cisco 建议您具有以下主题的基础知识:
本文档不限于特定的软件和硬件版本。它适用于任何具有物理/虚拟化QFP的路由Cisco IOS-XE®平台,如ASR1000、ISR4000、ISR1000、Cat8000或Cat8000v。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
本文档概述了TAC在首次联系时针对高CPU/QFP问题进行初步分类时所需的命令,以获得良好的TAC体验。
此外,本文档还包含故障排除提示,以识别高中央处理器(CPU)或高量子流处理器(QFP)利用率问题,以便您在打开TAC案例之前找到解决方案。
本文档不详细解释任何故障排除过程。如果可用,请参阅深入的故障排除指南中的更多内容。
在本文档末尾,有用于教育目的的方框图作为组件的直观表示。
高组件(内存、TCAM、CPU、QFP) — 利用率通常表示以下任一情况:
确定组件利用率高的根本原因对于确定解决问题的正确行动方针至关重要。
您可以通过监控工具或以下命令验证是否存在高CPU或QFP情况:
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%;one minute:0%;five minutes:0%”,您需要关注“五秒”字符串后的第一个值。在本例中,90%表示整体CPU利用率,而在本例中,斜杠–0右边的数字表示由于中断导致的CPU利用率。这两个数字之间的差异表示进程导致的总的CPU利用率。在这种情况下,CDP协议会占用大部分CPU(控制平面)资源。
由于Cisco IOS-XE具有基于Linux的内核,有时您会发现在其上面运行的任何进程出现问题,因此您可以使用show processes CPU platform sorted来验证是否有任何进程导致问题(请聚焦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是芯片上的系统,负责转发所有数据包。有关更多信息,请参阅以下章节:了解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编号0(Cisco IOS-XE系统上的第一个CPU)的IOSd上的CPU使用率较高的日志。
必须先配置此命令,以便在第一个核心上生成syslog。
此命令必须按照CPU阈值通知中描述的格式编写:process cpu threshold type {total |进程 |中断}上升百分比间隔秒[下降百分比间隔秒]
这样,我们就可以看到此类通知:
%SYS-1-CPURISINGTHRESHOLD: Threshold: Total CPU Utilization(Total/Intr): 91%/2%, Top 3 processes(Pid/Util):
另一种捕获高使用率的方法是通过SNMP或遥测测量。
在某些情况下,当其他内核达到高使用率时,您会看到如下资源LIMIT警报:
PLATFORM_INFRA-5-IOS_INTR_OVER_LIMIT:
对于数据平面,我们会在日志中看到此类型的QFP警报,通常表示超出阈值负载:
MCPRP-QFP-ALERT: Slot: 0, QFP:0, Load 93% exceeds the setting threshold(80%).
如果CPU未固定为100%,请包括show tech输出。这对TAC非常有帮助,您可以从TAC开发的帮助您更快找到问题的自动化中获益。
注意:出现问题时,必须排除高CPU使用情况的故障,因为设备不存储任何有关进程运行时间的历史数据。
注意:确保运行的是受支持的版本。查找该版本的销售终止和生命周期终止文档。如果需要,请移至当前软件维护版本下的版本。否则,TAC在故障排除和解决方案选项方面会受到限制。
通常,如果CPU/QFP运行率高于80%,则认为其运行率较高。
Cisco IOS-XE路由器可与控制平面(CPU)或数据平面(QFP)上的高利用率相关联。
注意:理想情况下,必须根据设备随时间变化的典型使用模式来评估高CPU/QFP利用率。例如,如果设备通常以10%的CPU使用率运行,但突然跳至40%,这可能表明该设备的CPU使用率较高。另一方面,如果CPU使用率始终为80%的设备处于正常运行水平,则未必是问题。具有CPU图形的监控系统可帮助收集和分析此数据,从而为每个设备建立基线。
Cisco IOS-XE路由器上的CPU是指负责设备管理/控制平面操作的CPU。设备上运行着许多进程,所有进程都在基于Linux的内核上运行。其中每个进程都在通用CPU中运行。
当存在高CPU条件时,通常指示以下情况:
某些平台具有多个通用CPU,它们遵循以下规则:
在Cisco IOSXE设备上,我们通常拥有数据平面和控制平面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中进行处理,在该处,查询恰好将传输数据包发送到其预期目的地。
量子流处理器(QFP)是片上系统(SoC),负责设备中的所有数据包转发操作。
QFP运行一个名为microcode的专用软件。此微码负责根据输入/输出接口配置对通过设备的所有数据包执行并应用功能。它还通过不同的进程与系统的其余部分交互。
当存在高QFP条件时,通常指示以下情况:
为了更好地了解情况,TAC必须收集功能调用阵列(FIA)跟踪以进行进一步分析。有关这方面的信息,请参阅使用IOS-XE数据路径数据包跟踪功能进行故障排除
以下是必须在发出时收集的基本命令(可以实施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路由器的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故障
注意:命令有时因平台和版本而异。在某些情况下,查找特定平台文档。
| 版本 | 发布日期 | 备注 |
|---|---|---|
1.0 |
23-Oct-2024
|
初始版本 |