Cisco IOS 和 NX-OS 软件 : Cisco IOS 软件版本 12.0 主线

show processes命令

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

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

本文档介绍了这些命令的输出中的字段。要验证设备上的 CPU 或内存使用率级别是否指示可能存在问题,请使用命令输出解释程序工具仅限注册用户)。有关详细信息,也可以参阅排除 CPU 使用率较高的故障

先决条件

要求

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

使用的组件

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

  • Cisco IOS�软件版本12.2(10b)

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。

规则

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

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 

下表列出并说明了 show processes 命令输出中的字段:

字段 说明
CPU 5秒内的利用率 过去五秒内的 CPU 使用率。第二个数字指示在中断级别所花费的 CPU 时间百分比。
one minute 过去一分钟内的 CPU 使用率
five minutes 过去五分钟内的 CPU 使用率
PID 处理 ID
进程队列优先级。可能的值:C(重要)、H(高)、M(中)、L(低)。
Ty 调度程序测试。可能的值:*(当前正在运行)、E(等待事件)、S(运行准备就绪,已自愿放弃处理器)、rd(运行准备就绪,已发生唤醒情况)、we(等待事件)、sa(一直休眠到某个绝对时间)、si(在某个时间间隔内休眠)、sp(在某个时间间隔内休眠(替代调用))、st(一直休眠到计时器到期)、hg(挂起;进程永不会再次执行)、xx(已停止:进程已终止,但尚未删除。)。
PC 当前程序计数器
Runtime (uS) 进程已使用的 CPU 时间(微秒)
调用 已调用进程的次数
uSecs 每次进程调用所占用的 CPU 时间(微秒)
堆叠 低水位线或可用的总堆栈空间,以字节为单位显示
TTY 控制该进程的终端
进程 进程的名称。有关详细信息,请参阅本文档的进程部分。

注意: 由于网络服务器的时钟精度为 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 时间,以微秒为单位表示
调用 已调用进程的次数
uSecs 每次进程调用所占用的 CPU 时间(微秒)
5sec 过去五秒内任务的 CPU 使用率
1Min 过去一分钟内任务的 CPU 使用率
5Min 过去五分钟内任务的 CPU 使用率
TTY 控制该进程的终端
进程 进程的名称。有关详细信息,请参阅本文档的进程部分。

注意: 由于网络服务器的时钟精度为 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 进程已放弃数据包缓冲区的次数
进程 进程名。有关详细信息,请参阅本文档的进程部分。
托塔尔 所有进程占用的内存总量

进程

下表介绍了 show processes、show processes cpu 以及 show processes memory 输出中的各个进程。但这不是一个详尽列表。

进程 说明
ARP Input 处理流入的地址解析协议(ARP)请求
BGP I/O 处理边界网关协议 (BGP) 消息的读、写以及执行
BGP Scanner 扫描 BGP 和主路由表以确保一致性(这是一个单独的进程,因为它可能非常耗时)
BGP Router 主 BGP 进程,该进程在配置已完全加载时启动
BOOTP 服务器 网关的 Bootstrap 协议 (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 处理控制台 exec 会话;具有较高的优先级
Hybridge Input 处理通过快速路径传入的透明网桥数据包
*Init* 系统初始化
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 每秒执行一次接口周期性功能,例如:
  • 重置周期性计数器
  • 清除输入错误率计数器
  • 检查串行线路是否可以从失灵状态重新启动
  • 执行所有周期性keep-alive功能
  • 检查协议路由表的一致性
  • 执行网桥状态一致性检查
  • 通告线路协议启用或禁用事件
Per-minute Jobs 每分钟执行以下任务一次:
  • 分析堆栈使用情况
  • 通告堆栈空间不足
  • 执行已注册的 one_minute 作业
Per-second Jobs 每秒执行多种任务;执行已注册的 one_second 作业
Pool Manager 管理器进程,用于在中断级别管理增长情况以及丢弃动态池中的请求
PPP Manager
  • 通过处理 PPP 输入数据包和接口转换来管理所有 PPP 有限状态机 (FSM) 的运行
  • 监控 PPP 队列和 PPP 计时器(协商、验证、空闲等等)

    注意: 通过将可能检测到会在其他进程中中断例程的事件进行序列化,可以避免许多常见 Bug。

OSPF Router 主开放最短路径优先 (OSPF) 进程
OSPF Hello 接收hello的OSPF进程
*Sched* 调度程序
Serial Background 监视事件并为每个到期事件(主要是接口的重置)跳转到正确的服务例程
生成树
  • 执行生成树协议 (STP),即处理多生成树算法的单个进程
  • 监控 STP 队列:
    • 处理传入的 STP 数据包
  • 监控 STP 计时器:
    • Hello 计时器
    • 拓扑更改计时器
    • Digital Equipment Corporation (DEC) 短期老化计时器
    • 转发延迟计时器
    • 消息存留时间计时器
Tbridge Monitor
  • 将“感兴趣的数据包”分派给相应的处理程序(“感兴趣的流量”是 Cisco 组管理协议 (CGMP)、Internet 组管理协议 (IGMP)、OSPF 数据包 [多播]
  • 监控多播计时器,这些计时器检查站条目老化情况以及电路组的有源电路
TCP Driver 处理通过传输控制协议 (TCP) 连接发送数据包数据。它包括连接的开启或者关闭,或者当队列饱和时丢弃数据包远程源路由桥接 (RSRB)、串行隧道 (STUN)、X.25 交换、TCP/IP 上的 X.25 (XOT)、数据链路交换 (DLSW)、转换以及所有在路由器上开始或结束的 TCP 连接当前都使用 TCP Driver。
TCP Timer 处理超时数据包的重新发送
Virtual exec 处理虚拟类型终端 (vty) 线路(例如,路由器上的 Telnet 会话)。

应该注意的是,如果仅单独出现 CPU 使用率较高这一情况,不能表明您的设备存在问题。例如,在 7500 VIP 上,如果出站接口的队列策略是先进先出 (FIFO),并且出站接口被堵塞,则会开始 Rx 端缓冲,即入站 VIP 开始缓冲数据包。现在,如果发生 Rx 端缓冲,则会显示 99% 的 VIP CPU 使用率。这种情况是正常的,在单独出现时,不表示发生了过载。如果 VIP 需要完成更重要的任务(如需要交换另一个数据包),该操作不会由于 CPU 使用率较高而受到影响。作为一个粗略的指导原则,只有 CPU 使用率在较长的一段时间内始终都很高才表示存在问题。此外,这些命令在了解何处出现了问题的过程中(而不是作为表示并非所有方面都正常的指示器)更有意义。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 15102