简介
本文档介绍 show processes 命令以及从命令输出中获得的详细统计信息。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
有关文档规则的详细信息,请参阅 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 命令以 ASCII 图形形式显示以下某一时段内路由器上的总 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
注意:由于 show processes memory 的排序方式是在特定 Cisco 路由器和交换机中实施的,一些设备(例如 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 |
|
Check heaps |
每分钟对内存进行检查。如果它发现处理器损坏,将强制进行重新加载。 |
Compute load avgs |
|
*Dead* |
一组现在已停止的进程。有关详细信息,请参阅内存问题故障排除。 |
执行 |
处理控制台 exec 会话;具有较高的优先级. |
Hybridge Input |
处理通过快速路径传入的透明网桥数据包. |
*初始* |
系统初始化 |
IP Background |
|
IP Cache Ager |
使路由缓存老化,并对过期的递归路由进行修复。老化器每隔一个时间间隔运行一次(默认情况下为一分钟一次),并进行检查以确保递归路由更改尚未使条目失效。此老化器的另一个功能是确保整个缓存大约每 20 分钟刷新一次。 |
IP 输入 |
进程交换的 IP 数据包 |
IP-RT Background |
定期对最后选用网关和 IP 静态路由进行修正。此过程在静态路由(最后选用网关所依赖的路由)修改后立即按需调用。 |
ISDNMIB Background |
发送 ISDN 陷阱服务,并删除调用队列(如果该调用队列老化) |
ISDN Timers |
处理 ISDN 载波计时器事件 |
Load Meter |
每五秒(以及每五分钟指数呈下降的繁忙时间)计算一次不同进程的负载平均值。负载平均值使用以下公式计算:平均值 = ((平均值 - 时间间隔) * exp (-t/C)) + 时间间隔,其中:
|
Multilink PPP out |
处理已从快速交换(出站半快速交换)排队的多链路数据包 |
Net Background |
|
Net Input |
|
Net Periodic |
每秒执行一次接口周期性功能,例如:
-
- 重置定期计数器
- 清除输入错误率计数器
- 检查串行线路是否因故障重新启动
- 执行任何定期保持连接功能
- 检查协议路由表的一致性
- 检查通告线路协议启动或关闭事件的网桥状态一致性
|
Per-minute Jobs |
每分钟执行以下任务一次:
-
分析堆栈使用情况
-
通告堆栈空间不足
-
执行已注册的 one_minute 作业
|
Per-second Jobs |
每秒执行多种任务;执行已注册的 one_second 作业. |
Pool Manager |
Manager进程在中断级别管理增长并放弃来自动态池的请求。 |
PPP Manager |
|
OSPF Router |
主开放最短路径优先 (OSPF) 进程 |
OSPF Hello |
接收hello的OSPF进程 |
*计划* |
调度程序 |
Serial Background |
监视事件并为每个到期事件(主要是接口的重置)跳转到正确的服务例程 |
生成树 |
|
Tbridge Monitor |
|
TCP Driver |
通过传输控制协议(TCP)连接发送数据包数据。在队列已满时打开和关闭连接或丢弃数据包。远程源路由桥接(RSRB)、串行隧道(STUN)、X.25交换、基于TCP/IP的X.25(XOT)、数据链路交换(DLSW)、转换,以及在路由器上开始或结束且当前使用TCP驱动程序的所有TCP连接。 |
TCP Timer |
处理超时数据包的重新发送 |
Virtual exec |
处理虚拟类型终端 (vty) 线路(例如,路由器上的 Telnet 会话)。 |
高CPU利用率本身并不表示您的设备有问题。作为一个大致的准则,只有长时间持续高的CPU利用率才表明存在问题。此外,这些命令不是指示符,而是帮助找出问题所在。
相关信息