目录

简介

先决条件

要求

使用的组件

规则

背景信息

show processes 命令

show processes cpu 命令

show processes cpu history 命令

show processes memory 命令

进程

相关信息

简介

本文档介绍show processes命令以及从命令输出获得的详细统计信息。

先决条件

要求

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

使用的组件

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

- Cisco IOS® 软件版本 12.2(10b)

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

规则

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

背景信息

show processes命令显示有关设备上活动进程的信息。发出 show processes cpu 命令可显示有关这些进程的详细 CPU 使用率统计信息，发出 show processes memory 命令可显示使用的内存量。

要验证设备的CPU或内存使用率级别是否指示可能存在问题，请使用输出解释程序工具。有关详细信息，请参阅排除CPU使用率过高故障。

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

show processes 命令

以下是show processes命令的输出示例：

router#show processes

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

PID Q  Ty       PC  Runtime(uS)    Invoked   uSecs    Stacks TTY Process

1 C  sp 602F3AF0            0       1627       0 2600/3000   0 Load Meter

2 L  we 60C5BE00            4        136      29 5572/6000   0 CEF Scanner

3 L  st 602D90F8         1676        837    2002 5740/6000   0 Check heaps

4 C  we 602D08F8            0          1       0 5568/6000   0 Chunk Manager

5 C  we 602DF0E8            0          1       0 5592/6000   0 Pool Manager

6 M  st 60251E38            0          2       0 5560/6000   0 Timers

7 M  we 600D4940            0          2       0 5568/6000   0 Serial Backgroun

8 M  we 6034B718            0          1       0 2584/3000   0 OIR Handler

9 M  we 603FA3C8            0          1       0 5612/6000   0 IPC Zone Manager

10 M  we 603FA1A0            0       8124       0 5488/6000   0 IPC Periodic Tim

11 M  we 603FA220            0          9       0 4884/6000   0 IPC Seat Manager

12 L  we 60406818          124       2003      61 5300/6000   0 ARP Input

13 M  we 60581638            0          1       0 5760/6000   0 HC Counter Timer

14 M  we 605E3D00            0          2       0 5564/6000   0 DDR Timers

15 M  we 605FC6B8            0          2       011568/12000  0 Dialer event

下表列出并说明了how processescommand输出中的字段。

字段

描述

CPU 5秒内的利用率

过去五秒内的 CPU 使用率。第二个数字指示在中断级别所花费的 CPU 时间百分比。

one minute

过去一分钟内的 CPU 使用率

five minutes

过去五分钟内的 CPU 使用率

PID

进程 ID

问

进程队列优先级。可能的值：C（临界）、H（高）、M（中）、L（低）。

泰

调度程序测试。可能的值：*（当前运行）、E（等待事件）、S（准备运行，主动放弃处理器）、rd（准备运行，已发生唤醒条件）、we（等待事件）、sa（休眠到绝对时间）、si（休眠到绝对时间）、sp(休眠到时间间隔（替换调用）、st（休眠到计时器超时）、hg（挂起；进程不再执行）、xx（停机：进程已终止，但尚未删除）。

PC

当前程序计数器

Runtime (uS)

进程已使用的 CPU 时间（微秒）

Invoked

已调用进程的次数

uSecs

每次进程调用所占用的 CPU 时间（微秒）

堆栈

低水位线或可用的总堆栈空间，以字节为单位显示

TTY

控制该进程的终端

Process

进程的名称。有关详细信息，请参阅本文档的进程部分。

注意：由于网络服务器的时钟分辨率为4000微秒，因此只有在进行了大量调用或经过合理测量的运行时后，运行时间才被视为可靠。

show processes cpu 命令

show processes cpu命令显示有关路由器中的活动进程及其CPU使用率统计信息的信息。以下是show processes cpu命令的输出示例：

router#show processes cpu

CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5%

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

1         384     32789     11   0.00%  0.00%  0.00%   0 Load Meter

2        2752      1179   2334   0.73%  1.06%  0.29%   0 Exec

3      318592      5273  60419   0.00%  0.15%  0.17%   0 Check heaps

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

5        6472      6568    985   0.00%  0.00%  0.00%   0 ARP Input

6       10892      9461   1151   0.00%  0.00%  0.00%   0 IP Input

7       67388     53244   1265   0.16%  0.04%  0.02%   0 CDP Protocol

8      145520    166455    874   0.40%  0.29%  0.29%   0 IP Background

9        3356      1568   2140   0.08%  0.00%  0.00%   0 BOOTP Server

10          32      5469      5   0.00%  0.00%  0.00%   0 Net Background

11       42256    163623    258   0.16%  0.02%  0.00%   0 Per-Second Jobs

12      189936    163623   1160   0.00%  0.04%  0.05%   0 Net Periodic

13        3248      6351    511   0.00%  0.00%  0.00%   0 Net Input

14         168     32790      5   0.00%  0.00%  0.00%   0 Compute load avgs

15      152408      2731  55806   0.98%  0.12%  0.07%   0 Per-minute Jobs

下表列出并说明了show processes cpu输出中的字段。

字段

描述

CPU 5秒内的利用率

过去五秒内的 CPU 使用率。第一个数字表示总计，第二个数字表示在中断级别花费的 CPU 时间百分比。

one minute

过去一分钟内的 CPU 使用率

five minutes

过去五分钟内的 CPU 使用率

PID

进程 ID

Runtime (uS)

进程已使用的 CPU 时间，以微秒为单位表示

Invoked

已调用进程的次数

uSecs

每次进程调用所占用的 CPU 时间（微秒）

5Sec

过去五秒内任务的 CPU 使用率

1Min

过去一分钟内任务的 CPU 使用率

5Min

过去五分钟内任务的 CPU 使用率

TTY

控制该进程的终端

Process

进程的名称。有关详细信息，请参阅本文档的进程部分。

注意：由于网络服务器的时钟分辨率为4000微秒，因此只有在进行了大量调用或经过合理的测量运行时后，运行时间才被视为可靠。

show processes cpu history 命令

show processes cpu history命令以图形形式显示路由器在一段时间内的CPU总使用率：一分钟、一小时和72小时，分别以一秒、一分钟和一小时的增量显示。每秒测量并记录最大使用率；平均使用率在一秒内计算。

以下是输出一小时部分的输出示例：

router#show processes cpu history

!--- One minute output omitted

6665776865756676676666667667677676766666766767767666566667

6378016198993513709771991443732358689932740858269643922613

100

90

80         *  *                     * *     *  * *  *

70  * * ***** *  ** ***** ***  **** ******  *  *******     * *

60  #***##*##*#***#####*#*###*****#*###*#*#*##*#*##*#*##*****#

50  ##########################################################

40  ##########################################################

30  ##########################################################

20  ##########################################################

10  ##########################################################

0....5....1....1....2....2....3....3....4....4....5....5....

0    5    0    5    0    5    0    5    0    5

CPU% per minute (last 60 minutes)

* = maximum CPU%   # = average CPU%

!--- 72-hour output omitted

- 图形的 Y 轴是 CPU 使用率。

- 图形的X轴是图形中所显示时段的增量；在本例中，它是前一小时的单个分钟。最近的测量位于 X 轴的左端。

- 前两行（垂直读取）显示记录的CPU利用率的最大百分比，同时递增。

- 在上一个示例中，记录的最后一分钟的CPU使用率为66%。路由器在该分钟内只能达到66%一次，或者可以多次达到66%；路由器只记录其增量过程中达到的峰值以及该增量过程中的平均值。

show processes memory 命令

show processes memory命令显示有关路由器中的活动进程和已用内存的信息。以下是show processes memory命令的输出示例：

router>show processes memory

Total: 106206400, Used: 7479116, Free: 98727284

PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process

0   0      81648       1808    6577644          0          0 *Init*

0   0        572     123196        572          0          0 *Sched*

0   0   10750692    3442000       5812    2813524          0 *Dead*

1   0        276        276       3804          0          0 Load Meter

2   0        228          0       7032          0          0 CEF Scanner

3   0          0          0       6804          0          0 Check heaps

4   0      18444          0      25248          0          0 Chunk Manager

5   0         96          0       6900          0          0 Pool Manager

6   0        276        276       6804          0          0 Timers

7   0        276        276       6804          0          0 Serial Backgroun

8   0         96          0       3900          0          0 OIR Handler

9   0         96          0       6900          0          0 IPC Zone Manager

10   0          0          0       6804          0          0 IPC Periodic Tim

11   0      17728        484      11156          0          0 IPC Seat Manager

12   0        288        136       7092          0          0 ARP Input

....

90   0          0          0       6804          0          0 DHCPD Timer

91   0        152          0       6956          0          0 DHCPD Database

7478196 Total

注意：由于某些Cisco路由器和交换机中执行show processes memory排序的方式，一些设备（例如Cisco 7304）将总值显示为处理器内存和IO内存的总和，而不是show processes memory显示的处理器内存总和。

下表列出了show processes memory命令输出中的字段和说明。

字段

描述

总数

占用的内存总量.

已使用

已使用的内存总量.

免费

空闲的内存总量.

PID

进程 ID

TTY

控制该进程的终端.

已分配

进程分配的内存字节数.

已释放

进程释放的内存字节数，无论该内存最初由哪一方分配

保持

进程占用的内存量。此参数可帮助您在怀疑内存泄漏时排除故障。如果某个进程消耗了内存，且该消耗在一段时间内增加，则很可能出现了内存泄漏。有关详细信息，请参阅内存泄漏 Bug。

Getbufs

进程已请求数据包缓冲区的次数.

retbufs

进程已放弃数据包缓冲区的次数.

Process

进程的名称。有关详细信息，请参阅本文档的进程部分。

总数

所有进程占用的内存总量.

进程

下表说明了show processes、show processes cpu和show processes memory输出中的各个进程。但这不是一个详尽列表。

Process

说明

ARP Input

处理流入的地址解析协议（ARP）请求.

BGP I/O

处理边界网关协议 (BGP) 消息的读、写以及执行

BGP Scanner

扫描BGP和主要路由表以确保一致性（这是一个单独的过程，可能会占用大量时间）。

BGP Router

主 BGP 进程，该进程在配置已完全加载时启动.

BootP 服务器

网关引导协议(BOOTP)服务器进程。

CallMIB Background

删除调用历史记录（如果调用历史记录老化）并收集调用信息.

CDP Protocol

- 主 Cisco 发现协议 (CDP) - 对各个接口进行 CDP 初始化处理

- 如果有数据包传入，将监控 CDP 队列和计时器，然后进行处理

- 如果发生计时器事件，将发送更新

Check heaps

每分钟对内存进行检查。如果它发现处理器损坏，将强制进行重新加载。

Compute load avgs

- 计算各个网络接口的五分钟指数呈下降的输出比特率以及整个系统的负载系数。负载平均值使用以下公式计算：平均值=(（平均值 — 间隔）* exp(-t/C))+间隔，其中t = 5秒，C = 5分钟，exp(-5/60*5))= .983

- 计算每个接口的负载（逐个）并检查备份接口负载（根据负载启用接口或关闭接口）。

*Dead*

一组现在已停止的进程。有关详细信息，请参阅内存问题故障排除。

执行

处理控制台exec会话；具有高优先级。

Hybridge Input

处理通过快速路径传入的透明网桥数据包.

*初始*

系统初始化

IP Background

- 当您更改封装(例如，当接口进入新状态、IP地址更改、添加新的数据交换接口(DXI)映射或某些拨号器计时器到期时)时调用。

- 执行 Internet 控制消息协议 (ICMP) 重定向缓存的定期老化.

- 根据接口的状态修改路由表。

IP Cache Ager

使路由缓存老化，并对过期的递归路由进行修复。老化器每隔一个时间间隔运行一次（默认情况下为一分钟一次），并进行检查以确保递归路由更改尚未使条目失效。此老化器的另一个功能是确保整个缓存大约每 20 分钟刷新一次。

IP 输入

进程交换的 IP 数据包

IP-RT Background

定期对最后选用网关和 IP 静态路由进行修正。此过程在静态路由（最后选用网关所依赖的路由）修改后立即按需调用。

ISDNMIB Background

发送 ISDN 陷阱服务，并删除调用队列（如果该调用队列老化）

ISDN Timers

处理 ISDN 载波计时器事件

Load Meter

每五秒（以及每五分钟指数呈下降的繁忙时间）计算一次不同进程的负载平均值。负载平均值使用以下公式计算：平均值=(（平均值 — 间隔）* exp(-t/C))+间隔，其中：

- t = 5 秒，C = 5 分钟，exp (-5/(60*5)) = .983~= 1007/1024

- t = 5秒，C = 1分钟，exp(-5/60)= .920~=942/1024

Multilink PPP out

处理已从快速交换（出站半快速交换）排队的多链路数据包

Net Background

- 执行多种与网络相关的后台任务。这些任务必须快速执行，不能因任何原因阻塞。net_background 进程中调用的任务（例如，接口取消扼杀）是时间紧急的任务。

- 执行“Compute load avgs”、“Per-minute Jobs”以及“Net Input”进程.

- 当接口被限制时对其进行处理。

Net Input

- 处理未知的数据包。此操作在进程级别完成，以便让输入队列发挥作用。如果您在中断级别运行，可以轻松地锁定路由器。

- 处理您决定提供给网桥的一些已知协议。 在这种情况下，net_input 要么将数据包发送至 NULL，要么对其进行桥接。

Net Periodic

每秒执行一次接口周期性功能，例如：

- 重置定期计数器

- 清除输入错误率计数器

- 检查串行线路是否因故障重新启动

- 执行任何定期保持连接功能

- 检查协议路由表的一致性

- 检查通告线路协议启动或关闭事件的网桥状态一致性

Per-minute Jobs

每分钟执行以下任务一次：

- 分析堆栈使用情况

- 通告堆栈空间不足

- 执行已注册的 one_minute 作业

Per-second Jobs

每秒执行各种任务；执行已注册的一秒作业。

Pool Manager

Manager进程在中断级别管理增长并放弃来自动态池的请求。

PPP Manager

- 管理所有PPP有限状态机(FSM)操作并处理PPP输入数据包和接口转换。

- 监控PPP队列和PPP计时器（协商、身份验证、空闲等）。

OSPF Router

主开放最短路径优先 (OSPF) 进程

OSPF Hello

接收hello的OSPF进程

*计划*

调度程序

Serial Background

监视事件并为每个到期事件（主要是接口的重置）跳转到正确的服务例程

生成树

- 执行生成树协议 (STP)，即处理多生成树算法的单个进程

- 监控 STP 队列：

- 处理传入的 STP 数据包

- 监控 STP 计时器：

- Hello 计时器

- 拓扑更改计时器

- Digital Equipment Corporation (DEC) 短期老化计时器

- 转发延迟计时器

- 消息存留时间计时器

Tbridge Monitor

- 将“感兴趣的数据包”分派给相应的处理程序(“相关流量”是思科组管理协议(CGMP)、互联网组管理协议(IGMP)、OSPF数据包[组播])

- 监控多播计时器，这些计时器检查站条目老化情况以及电路组的有源电路

TCP Driver

通过传输控制协议(TCP)连接发送数据包数据。在队列已满时打开和关闭连接或丢弃数据包。远程源路由桥接(RSRB)、串行隧道(STUN)、X.25交换、基于TCP/IP的X.25(XOT)、数据链路交换(DLSW)、转换，以及在路由器上开始或结束且当前使用TCP驱动程序的所有TCP连接。

TCP Timer

处理超时数据包的重新发送

Virtual exec

处理虚拟类型终端 (vty) 线路（例如，路由器上的 Telnet 会话）。

高CPU利用率本身并不表示您的设备有问题。例如，在7500 VIP上，如果出站接口的队列上升策略为先进先出(FIFO)且出站接口拥塞，则会启动缓冲的Rx端，即入站VIP启动缓冲的数据包。现在，如果发生Rx端缓冲，VIP CPU使用率为99%。这是正常的，其本身并不表示过载。如果 VIP 需要完成更重要的任务（如需要交换另一个数据包），该操作不会由于 CPU 使用率较高而受到影响。作为一个粗略的指导原则，只有 CPU 使用率在较长的一段时间内始终都很高才表示存在问题。此外，这些命令不是指示符，而是帮助找出问题所在。

相关信息

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

- 排除内存问题

- 思科技术支持和下载