目录

简介

先决条件

要求

使用的组件

规则

适用于单 CPU 设备的过程

示例

适用于多 CPU 设备的过程

示例

相关信息

简介

本文档介绍如何收集使用简单网络管理协议 (SNMP) 的 Cisco IOS® 设备的 CPU 使用率。

先决条件

要求

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

使用的组件

本文档中的信息仅适用于运行Cisco IOS软件的设备。

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

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

适用于单 CPU 设备的过程

路由协议处理和进程分组交换等关键路由器功能在内存中处理并共享CPU。因此，如果CPU使用率非常高，则可能无法处理路由更新，或者进程交换数据包被丢弃。从CISCO-PROCESS-MIB中，cpmCPUTotal5minRev MIB对象值将报告在五分钟平均时间内的处理器使用百分比。

注意：使用Cisco MIB定位器查找有关特定平台或软件版本的MIB的信息。

与MIB对象cpmCPUTotal1minRev 和cpmCPUTotal5secRev 相比，cpmCPUTotal5minRev MIB对象可提供更准确的路由器性能长期视图。这些MIB对象不精确，因为它们分别每隔一分钟和五秒查看CPU。使用这些MIB，您可以监控网络趋势并规划网络容量。cpmCPUTotal5minRev的建议基线上升阈值为90%。基于该平台，某些运行率为90%的路由器可能会出现性能降级，而高端路由器运行良好。

- cpmCPUTotal5secRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.6)：过去五秒内总体CPU忙碌百分比。此对象否决对象cpmCPUTotal5sec，并将值范围增加到(0..100)。

- cpmCPUTotal1minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.7)：过去一分钟内的整体CPU繁忙百分比。此对象否决对象cpmCPUTotal1min，并将值范围增大到(0..100)。

- cpmCPUTotal5minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.8)：过去五分钟内的整体CPU繁忙百分比。此对象否决对象cpmCPUTotal5min，并将值范围增大到(0..100)。

下表显示了新MIB及其对象，以及它们替换的旧MIB和对象：

version

Cisco IOS软件版本12.2(3.5)或更高版本

12.0(3)T和12.2(3.5)之前的Cisco IOS软件版本

MIB

CISCO-PROCESS-MIB

CISCO-PROCESS-MIB

对象

cpmCPUTotal5minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.8)

cpmCPUTotal1minRev(.1.3.6.1.4.1.9.9.109.1.1.1.1.7)

cpmCPUTotal5secRev(.1.3.6.1.4.1.9.9.109.1.1.1.1.6)

cpmCPUTotal5min (.1.3.6.1.4.1.9.9.109.1.1.1.1.5)

cpmCPUTotal1min(.1.3.6.1.4.1.9.9.109.1.1.1.1.4)

cpmCPUTotal5sec(.1.3.6.1.4.1.9.9.109.1.1.1.1.3)

示例

下面是运行Cisco IOS软件版本12.0(9)的路由器上show processes CPU命令的典型输出：

Router#show processes CPU

CPU utilization for five seconds: 2%/1%; one minute: 1%; five minutes: 1%

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

1         164    137902      1   0.00%  0.00%  0.00%   0 Load Meter

2         100       119    840   0.57%  0.11%  0.02%   2 Virtual Exec

3      468644     81652   5739   0.00%  0.04%  0.05%   0 Check heaps

4           0         1      0   0.00%  0.00%  0.00%   0 Pool Manager

5           0         2      0   0.00%  0.00%  0.00%   0 Timers

6           0         2      0   0.00%  0.00%  0.00%   0 Serial Background

7           0         1      0   0.00%  0.00%  0.00%   0 OIR Handler

8           0         1      0   0.00%  0.00%  0.00%   0 IPC Zone Manager

9         348    689225      0   0.00%  0.00%  0.00%   0 IPC Periodic Tim

10           0         1      0   0.00%  0.00%  0.00%   0 IPC Seat Manager

11      175300    332916    526   0.00%  0.02%  0.00%   0 ARP Input

12        3824    138903     27   0.00%  0.00%  0.00%   0 HC Counter Timer

13           0         2      0   0.00%  0.00%  0.00%   0 DDR Timers

14           0         1      0   0.00%  0.00%  0.00%   0 Entity MIB API

15           0         1      0   0.00%  0.00%  0.00%   0 SERIAL A'detect

16           0         1      0   0.00%  0.00%  0.00%   0 Microcode Loader

17           0         1      0   0.00%  0.00%  0.00%   0 IP Crashinfo Inp

--<snip>--

从输出中，相关信息如下：

注意：根据设备上运行的Cisco IOS软件版本，使用适当的MIB对象。

注意：只有思科注册用户才能访问思科内部工具和信息。

- 过去五秒的CPU使用率[也可通过objectbusyPer (.1.3.6.1.4.1.9.2.1.56)获得]]

%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.56

!--- SNMP Query

enterprises.9.2.1.56.0 = 2

!--- Response

- 五秒内中断级别（快速交换数据包）的CPU时间百分比。如果取第一个和第二个之间的差值，您会得到路由器在进程级所花费的五秒百分比。在这种情况下，路由器在过去5秒内会在进程级别上花费1%（进程交换数据包-无MIB变量）。

- 过去一分钟的CPU使用率[也可通过对象avgBusy1(.1.3.6.1.4.1.9.2.1.57)获得]

%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.57

!--- SNMP Query

enterprises.9.2.1.57.0 = 3

!--- Response

- 过去五分钟的CPU使用率[也可以通过objectavgBusy5(.1.3.6.1.4.1.9.2.1.58)得到]]

%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.58

!--- SNMP Query

enterprises.9.2.1.58.0 = 1

!--- Response

轮询CPU利用率变量和任何其他SNMP变量时，实际CPU利用率会受到影响。有时，当您连续以1秒的间隔轮询变量时，利用率会达到99%。如此频繁地轮询是一种过度检查，但当您确定想要轮询变量的频率时，需要考虑对CPU的影响。

适用于多 CPU 设备的过程

如果您的Cisco IOS设备有多个CPU，则必须使用MIB及其对象CISCO-PROCESS-cpmCPUTotal5minRev(该对象来自名为cpmCPUTotalTable的表，该表使用cpmCPUTotalIndex 进行索引)。此表允许CISCO-PROCESS-MIB保留路由器中不同物理实体的CPU统计信息，例如不同模块/卡中的不同CPU芯片、CPU组或CPU。对于单个CPU，cpmCPUTotalTable只有一个条目。

有关路由器中不同物理实体的信息存储在基于RFC 2737标准的ENTITY-MIB的entPhysicalTable中。您可以轻松链接两个表(cpmCPUTotalTable和entPhysicalTable)：cpmCPUTotalTable的每一行都有一个cpmCPUTotalPhysicalIndex对象，该对象保留entPhysicalIndex (entPhysicalTable索引)的值，并且指向entPhysicalTable中对应于为其维护这些CPU统计信息的物理实体的条目。

这意味着Cisco IOS设备必须支持CISCO-PROCESS-MIB和ENTITY-MIB，您才能检索有关CPU使用率的相关信息。当只有一个CPU时，唯一不需要使用ENTITY-MIB的情况。

示例

监控机箱中多个CPU的使用（RSP和两个VIP）。这同样适用于GSR线卡。

1. PollcpmCPUTotal5min (.1.3.6.1.4.1.9.9.109.1.1.1.1.5)可获取机箱中所有CPU的“过去5分钟内的整体CPU繁忙百分比”。输出显示设备有三个CPU，在过去5分钟内10%、1%和2%的利用率。

%snmpwalk –v2c –c public 172.16.0.1 .1.3.6.1.4.1.9.9.109.1.1.1.1.5

!--- SNMP Query

enterprises.9.9.109.1.1.1.1.5.1 = 10

enterprises.9.9.109.1.1.1.1.5.8 = 1

enterprises.9.9.109.1.1.1.1.5.9 = 2

!--- Response

注意：根据设备上运行的Cisco IOS软件版本，使用适当的MIB对象。

2. 要标识这些值所对应的物理实体，请轮询cpmCPUTotalPhysicalIndex (.1.3.6.1.4.1.9.9.109.1.1.1.1.2)。您将看到三个具有索引9、25和28的物理实体：

%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.4.1.9.9.109.1.1.1.1.2

!--- SNMP Query

enterprises.9.9.109.1.1.1.1.2.1 = 9

enterprises.9.9.109.1.1.1.1.2.8 = 25

enterprises.9.9.109.1.1.1.1.2.9 = 28

!--- Response

3. 要识别每个物理条目关联的特定卡，请轮询对应的entPhysicalName (.1.3.6.1.2.1.47.1.1.1.1.7)条目，第2步中的确切索引9、25、28作为最后一个数字。您可以看到，RSP利用率达到10%，插槽4和6中的VIP利用率达到1%和2%。

%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.9

!--- SNMP Query

47.1.1.1.1.7.9 = "RSP at Slot 2"

!--- Response

%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.25

!--- SNMP Query

47.1.1.1.1.7.25 = "Line Card 4"

!--- Reponse

%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.28

!--- SNMP Query

47.1.1.1.1.7.28 = "Line Card 6"

!--- Response

相关信息

- 了解 CPU 使用率达 99% 的 VIP 与接收端缓冲

- 对 Cisco 路由器上的 CPU 使用率过高进行故障排除

- SNMP 社区字符串索引

- 简单网络管理协议索引

- 思科技术支持和下载