目录

简介

先决条件

要求

使用的组件

背景信息

QFP/CPU使用率高的症状

控制平面(CPU) - IOSd

控制平面-内核(CPU)

数据平面(QFP)

查看的潜在日志

TAC初始分类所需信息

了解高CPU/QFP使用率

常规故障排除步骤

了解Cisco IOS-XE路由器上的高CPU

了解Cisco IOS-XE路由器上的高QFP

Cisco IOS-XE路由器（ISR4300/4200/4400/4600系列、Cat8200/8300/8500、CSR1000v、CAT8000v）上的CPU/QFP过高

模块化Cisco IOS-XE路由器（ASR1k系列）上的CPU使用率高

简介

本文档介绍用于向TAC正确报告高CPU/QFP问题的常规故障排除，以加快案例解决速度。

先决条件

要求

Cisco 建议您具有以下主题的基础知识：

- 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 utilization for five seconds： 90%/0%； one minute： 0%； five minutes： 0%”行中，您需要专注于“five seconds”字符串后面的第一个值。在本例中，90%表示总体CPU使用率，而在本例中，斜线0右侧的数字表示因中断而产生的CPU使用率。这两个数字之间的差异表示进程导致的总体CPU使用率。在这种情况下，CDP协议会占用大部分CPU（控制平面）资源。

控制平面-内核(CPU)

由于Cisco IOS-XE具有基于Linux的内核，因此有时您会在其上面运行的任何进程上发现问题，因此您可以使用已排序的show processes CPU平台来验证是否有任何进程导致问题（重点关注5秒列） 显示底层操作系统的进程。

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命令中，重点显示processing： Load for the 5seconds列，因为这提供了最新的整体QFP使用情况。有些设备还会显示Crypto/IO模块的使用情况，重点关注Idle，越接近100%，情况越好。

查看的潜在日志

默认情况下，系统不会生成显示IOSd上CPU使用率高的日志，IOSd使用CPU编号0，即Cisco IOS-XE系统上的第一个CPU。

必须先配置此命令，以便在第一个核心上生成系统日志。

必须根据CPU阈值通知：process cpu threshold type {total |process |interrupt} rising percentage interval seconds [falling percentage interval seconds]

这样，我们可以看到以下类型的通知：

%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 version

- show running

- 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图形的监控系统有助于收集和分析此数据，从而为每台设备建立基准。

常规故障排除步骤

1. 确定问题是控制平面(CPU)还是数据平面(QFP)。

2. 通过特定命令识别违规进程。

3. 根据进程名称，对该进程进行网络搜索：

- 重点将该流程与已知功能/配置相匹配。

- 检查是否存在任何与进程名称和行为匹配的软件缺陷。如果存在，请实施变通方法或软件升级到固定版本。

4. 借助CPU/QFP图表，确定CPU/QFP开始增加其使用率的确切时间。如果它与最近的更改相匹配，请恢复到初始配置/软件版本并检查结果。

5. 如果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（虚拟或物理）(如show platform resources输出所示)。

在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的使用情况。

- 就ISR4000系列而言，请参阅实施集成多业务路由器4000的性能许可证，该许可证描绘了现有型号之间不同CPU的分配图。

- 如果虚拟平台（如Cisco CSR1000v和Cisco CSR8000v）是基于模板的，默认情况下，大多数vCPU专用于数据平面。请参阅跨数据、控制和服务平面配置vCPU分布，以及Cisco Catalyst 8000V Edge软件安装和配置指南。

控制平面CPU专用于控制协议处理，如处理BGP协议、STP协议、CDP、SSH等。控制平面CPU处理发往路由器自身的数据包，以便进行处理。

数据平面通常是指路由器在路由处理器(RP)中不消耗自身资源的中转数据包，而是指仅在作为数据包处理器的量子流处理器(QFP)组件中处理的数据平面处理数据包。这些数据包在QFP中进行处理，在这些数据包中，查找操作恰好将中转数据包发送到其预期目的地。

了解Cisco IOS-XE路由器上的高QFP

量子流处理器(QFP)是片上系统(SoC)，负责设备中的所有数据包转发操作。

QFP运行一种特殊的软件，称为微码。此微代码负责根据输入/输出接口配置执行和应用功能到通过设备的所有数据包。它还通过不同的进程与系统的其余部分交互。

当存在高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使用率故障排除

注意：命令有时会因平台和版本而异。在某些情况下，请查找特定平台文档。