目录

简介

先决条件

要求

使用的组件

规则

了解Catalyst 4500/4000、2948G、2980G和4912G交换机上的CPU利用率

典型的show processes cpu命令利用率

CPU使用率过高的原因

ping 时延

建议

相关信息

简介

本文档提供有关在运行Catalyst OS(CatOS)系统软件的Cisco Catalyst 4500/4000、2948G、2980G和4912G交换机上发出命令时show processes cpu命令输出的信息。本文档介绍如何确定这些交换机上CPU使用率较高的原因。本文档还列出了导致 Catalyst 4500 系列上 CPU 使用率较高的一些常见网络或配置案例。

注：如果运行基于Cisco IOS软件的Catalyst 4500/4000系列交换机，请参阅基于Cisco IOS软件的Catalyst 4500/4000交换机上的CPU使用率较高。

注意：在本文档中，“交换机”和“交换机”一词是指Catalyst 4500/4000、2948G、2980G和4912G交换机。

类似于 Cisco 路由器，交换机使用 show processes cpu 命令显示交换机 Supervisor 引擎处理器的 CPU 使用率。但是，由于 Cisco 路由器和交换机之间在体系结构和转发机制上存在差异，show processes cpu 命令的标准输出有很大的不同。输出的含义也不同。

本文档将阐明这些区别。本文档介绍交换机上 CPU 的使用，并介绍如何解释 show processes cpu 命令输出。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 运行CatOS的Catalyst 4500/4000交换机

- Catalyst 2948G交换机

- Catalyst 2980G和2980G-A交换机

- Catalyst 4912G交换机

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文件规则的更多信息请参见“ Cisco技术提示规则”。

了解Catalyst 4500/4000、2948G、2980G和4912G交换机上的CPU利用率

Cisco 基于软件的路由器使用软件来处理和路由数据包。当路由器执行更多数据包处理和路由操作时，Cisco 路由器上的 CPU 使用率势必增加。因此，show processes cpu 命令可对路由器上的数据流处理负载提供一个相当准确的指示。

运行CatOS、2948G、2980G和4912G交换机的Catalyst 4500/4000不同方式使用CPU。这些交换机在硬件而不是软件中做出转发决策。因此，当交换机对通过交换机的大多数帧做出转发或交换决策时，进程不会占用 Supervisor 引擎 CPU。

相反，Supervisor引擎CPU执行其他重要功能。它执行的功能包括：

- 帮助执行 MAC 地址识别和老化操作

注意：MAC地址学习也称为路径设置。

- 运行提供网络控制的协议和进程

示例包括生成树协议 (STP)、Cisco 发现协议 (CDP)、VLAN 中继协议 (VTP)、动态中继协议 (DTP) 和端口聚合协议 (PAgP)。

- 处理发往交换机sc0或me1接口的网络管理流量

例如Telnet、HTTP或简单网络管理协议(SNMP)流量。

show processes cpu命令提供有关Supervisor引擎CPU的信息；做出转发决策的交换机硬件不提供此信息。因此，命令的输出与交换机的交换性能或流量负载没有直接关联。

典型的show processes cpu命令利用率

如果您：

- 从Cisco设备发出show-tech support命令或show processes cpu命令。

- 使用输出解释 (仅注册客户)工具。

在某些情况下，即使是流量很少或没有流量的交换机也会报告CPU使用率高于其他基于CatOS的交换机的典型使用率。show processes cpu命令的输出显示此CPU使用率较高。

注意：其他基于CatOS的交换机的示例包括Catalyst 5500/5000和6500/6000系列交换机。

在Catalyst 4003、4006、2948G、2980G或4912G交换机上，典型CPU利用率为1-30%。在安装了一个或多个WS-X4148-RJ45V模块的Catalyst 4006交换机上，典型利用率更高。通常利用率为20-50%。由于这些模块执行额外的端口监控以检测连接的IP电话，因此利用率更高。模块需要检测连接的电话，以便在必要时应用线内电源。

通常，这些百分比不会随着通过交换机的流量量的增加而增加。因此，无论交换机是完全空闲还是通过大量流量，平均CPU利用率百分比都不会发生显着变化。

通常，最高利用率进程是交换开销和管理开销进程。本示例显示了运行CatOS的Supervisor引擎II的Catalyst 4006交换机上show processes cpu命令的输出：

注意：为了清楚起见，某些输出已被抑制。

Console> (enable) show processes cpu

CPU utilization for five seconds:  43.72%

one minute:  43.96%

five minutes:  34.17%

PID Runtime(ms) Invoked    uSecs    5Sec    1Min    5Min    TTY Process

--- ----------- ---------- -------- ------- ------- ------- --- ---------------

1   143219346   0          0         74.28%  56.04%  65.83% -2  Kernel and Idle

3   5237943     1313358    330000     2.84%   2.00%   2.00% -2  SynConfig

13  4378417     92798429   2000       1.97%   1.00%   1.00% -2  gsgScpAggregati

19  2692969     8548403    14000      1.23%   1.00%   1.00% -2  SptBpduRx

84  6702117     92798314   9000       2.77%   2.00%   2.00% 0   Console

97  9382372     16190292   12499      4.26%   4.22%   4.31% 0   Packet forwardi

98  23438905    7904296    9352      16.64%  19.57%  17.50% 0   Switching overh

99  2271479     1443242    57968      1.19%   1.04%   0.98% 0   Admin overhead

Console> (enable)

交换开销实际上是一个由多个子进程组成的进程。子进程处理以下任务：

- 新MAC地址的地址学习

注意：MAC地址学习也称为路径设置。

- 由于接收STP拓扑更改通知(TCN)网桥协议数据单元(BPDU)，正常主机条目老化以及快速老化

- 用于控制流量（如STP BPDU、CDP、VTP、DTP和PAgP）的数据包处理

- 对管理流量（如Telnet、SNMP和HTTP）以及sc0或me1子网中的广播和组播数据包进行数据包处理

管理开销是交换机硬件管理的流程。管理开销处理以下任务：

- 交换矩阵专用集成电路(ASIC)和其他硬件管理

- 线卡ASIC管理

- 端口监控

CPU使用率过高的原因

如本文的“典型show processes cpu命令使用率”部分所述，Catalyst 4500/4000系列交换机上的典型CPU使用率高于其他基于CatOS的交换机。这些其他交换机包括Catalyst 5500/5000和6500/6000。

但是，在某些情况下，Supervisor引擎CPU利用率可能超出此预期范围。CPU利用率可能超出交换机的典型范围，原因如下：

- 地址学习 — 从源MAC地址到目的MAC地址的任何流中的第一个帧被重定向到Supervisor引擎CPU。通过此重定向，可以进行地址学习。CPU在硬件中设置路径后，使用相同源和目的MAC地址的后续帧在硬件中交换。CPU不参与。因此，如果CPU必须在短时间内获取大量MAC地址，CPU利用率可能会上升。在路径设置期间利用率会上升。交换机需要在短时间内（例如工作日开始或午餐后）获取大量MAC地址。此时，许多用户会启动其系统或登录网络。

- 网络中的STP TCN - TCN BPDU使交换机对交换机已获知的MAC地址执行快速老化。通常，许多帧会被发送到CPU以进行地址学习和路径设置。因此，您必须找到TCN的根本原因并防止发生。以下是一些可能的原因：

- 网络中抖动的端口

- 在未启用STP PortFast的端口上打开和关闭电源的主机

- 管理接口（sc0或me1）上收到过多广播流量 — 管理子网/VLAN中的广播必须在交换机的协议栈向上足够高，以确定Supervisor引擎是否是流量的预期接收方。可以增加交换机CPU利用率的流量示例包括：

- 网间数据包交换(IPX)路由信息协议/服务通告协议(RIP/SAP)

- AppleTalk控制流量

- 广播网络基本输入/输出系统(NetBIOS)帧

- 使用广播的传统IP应用

- 管理流量过多 — 某些管理流量可能导致交换机的CPU使用率较高。SNMP轮询尤其频繁就是一个例子。

- 软件交换流量 — 使用第3层模块时，切记到达本征VLAN上的路由器的所有流量都在软件中路由。这种情况对交换机的性能有不利影响。WS-X4232-L3上的微码不处理802.1Q数据包，这些数据包进入本征VLAN时没有标记。相反，数据包会转到CPU，CPU会处理数据包。如果CPU在本征VLAN子接口上以高速率接收不带标记的数据包，则此过程会导致CPU使用率较高。因此，创建虚拟VLAN（不包含任何用户流量）作为本征VLAN。

注意：在路由器和交换机之间的中继链路上创建虚拟VLAN作为本征VLAN。CPU在软件中路由本征VLAN上发送的所有流量，这对交换机的性能有不利影响。创建一个您不在网络中其他位置使用的附加VLAN，并使此VLAN成为路由器和交换机之间中继链路的本征VLAN。

ping 时延

另一个误解是ping响应延迟是交换机Supervisor引擎上CPU使用率较高的结果。当您ping交换机sc0接口时，会出现响应延迟。响应延迟超过10毫秒。

Internet控制消息协议(ICMP)请求和应答处理是Supervisor引擎上的低优先级任务。许多更重要的任务优先于生成ping响应。因此，即使在完全空闲的交换机上，ping响应时间也是典型的7-10毫秒。在特别繁忙的交换机上，响应时间可能更长。

但是，通过交换机的ping通常在硬件中转发。在这些情况下，交换机将ICMP回应请求和应答视为简单的数据帧。响应延迟包括：

- 通过交换机的往返转发延迟

这通常是非常短的延迟，单位为微秒。

- 进程中IP堆栈的延迟以及对ping请求和应答的响应

- ICMP数据包必须经过的网络中的任何其他延迟

这种延迟的一个示例是多个路由器跳。

- 由于静态路由的广泛使用而导致不必要的IP重定向

建议

Supervisor 引擎 CPU 使用率不反映交换机的硬件转发性能。但是，仍必须以 Supervisor 引擎 CPU 使用率作为基线并对其进行监控。

1. 使交换机在具有正常流量模式和负载的稳定状态网络中的Supervisor引擎CPU利用率基准化。

请注意哪些进程导致最高的 CPU 使用率。

2. 在排除 CPU 使用率故障时，请考虑以下问题：

- 哪些进程导致最高使用率？这些进程是否与您的基线不同？

- CPU 使用率是否一直高于基线？还是说，是否存在高利用率的高峰，然后恢复到基线水平？

- 网络中是否有TCN?还是使用生成树参数正确配置冗余链路以避免环路？

注意：禁用STP PortFast的抖动端口或主机端口导致TCN。

- 管理子网/VLAN 中是否存在过多的广播或多播数据流？

- 交换机上是否存在过多的管理数据流，如 SNMP 轮询？

3. 如果可能，请从具有用户数据流（特别是大量广播数据流）的 VLAN 中分离出管理 VLAN。

此类流量的示例包括IPX RIP/SAP、AppleTalk和其他广播流量。此类数据流可能影响 Supervisor 引擎 CPU 使用率，并且在特殊情况下可能干扰交换机的正常运行。

4. 考虑交换机升级。

对于Catalyst 4500/4000系列管理引擎和运行CatOS的交换机，请考虑将交换机升级到5.5(7)版或更高版本。

这些版本集成了多种与CPU相关的优化，特别是在交换开销子进程领域。

在CatOS版本6.4.4及更高版本中，管理请求超时期限有延长。超时时间延长可以防止繁忙CPU可能导致的许多临时控制数据包超时。

注意：版本6.1(1)及更高版本支持Catalyst 2980G-A。

相关信息

- 基于Cisco IOS软件的Catalyst 4500/4000交换机上的CPU使用率较高

- Catalyst 6500/6000 交换机 CPU 使用率过高

- Catalyst 3750 系列交换机 CPU 使用率过高的故障排除

- LAN 产品支持

- LAN 交换技术支持

- 技术支持和文档 - Cisco Systems