本文档提供有关在运行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技术提示规则”。
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的信息;做出转发决策的交换机硬件不提供此信息。因此,命令的输出与交换机的交换性能或流量负载没有直接关联。
如果您:
在某些情况下,即使是流量很少或没有流量的交换机也会报告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管理
端口监控
如本文的“典型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响应延迟是交换机Supervisor引擎上CPU使用率较高的结果。当您ping交换机sc0接口时,会出现响应延迟。响应延迟超过10毫秒。
Internet控制消息协议(ICMP)请求和应答处理是Supervisor引擎上的低优先级任务。许多更重要的任务优先于生成ping响应。因此,即使在完全空闲的交换机上,ping响应时间也是典型的7-10毫秒。在特别繁忙的交换机上,响应时间可能更长。
但是,通过交换机的ping通常在硬件中转发。在这些情况下,交换机将ICMP回应请求和应答视为简单的数据帧。响应延迟包括:
通过交换机的往返转发延迟
这通常是非常短的延迟,单位为微秒。
进程中IP堆栈的延迟以及对ping请求和应答的响应
ICMP数据包必须经过的网络中的任何其他延迟
这种延迟的一个示例是多个路由器跳。
由于静态路由的广泛使用而导致不必要的IP重定向
Supervisor 引擎 CPU 使用率不反映交换机的硬件转发性能。但是,仍必须以 Supervisor 引擎 CPU 使用率作为基线并对其进行监控。
使交换机在具有正常流量模式和负载的稳定状态网络中的Supervisor引擎CPU利用率基准化。
请注意哪些进程导致最高的 CPU 使用率。
在排除 CPU 使用率故障时,请考虑以下问题:
哪些进程导致最高使用率?这些进程是否与您的基线不同?
CPU 使用率是否一直高于基线?还是说,是否存在高利用率的高峰,然后恢复到基线水平?
网络中是否有TCN?还是使用生成树参数正确配置冗余链路以避免环路?
注意:禁用STP PortFast的抖动端口或主机端口导致TCN。
管理子网/VLAN 中是否存在过多的广播或多播数据流?
交换机上是否存在过多的管理数据流,如 SNMP 轮询?
如果可能,请从具有用户数据流(特别是大量广播数据流)的 VLAN 中分离出管理 VLAN。
此类流量的示例包括IPX RIP/SAP、AppleTalk和其他广播流量。此类数据流可能影响 Supervisor 引擎 CPU 使用率,并且在特殊情况下可能干扰交换机的正常运行。
考虑交换机升级。
对于Catalyst 4500/4000系列管理引擎和运行CatOS的交换机,请考虑将交换机升级到5.5(7)版或更高版本。
这些版本集成了多种与CPU相关的优化,特别是在交换开销子进程领域。
在CatOS版本6.4.4及更高版本中,管理请求超时期限有延长。超时时间延长可以防止繁忙CPU可能导致的许多临时控制数据包超时。
注意:版本6.1(1)及更高版本支持Catalyst 2980G-A。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
30-Aug-2005 |
初始版本 |