Guest

Cisco IOS Software Releases 12.0 Mainline

The show processes Command

Cisco - The show processes Command

Document ID: 15102

Updated: Mar 06, 2009

   Print

Introduction

The show processes command displays information about the active processes. Issue the show processes cpu command to display detailed CPU utilization statistics on these processes and the show processes memory command to show the amount of memory used.

This document describes the fields in the output of these commands. To verify if the CPU or memory utilization level on your device indicates a possible problem, use the Output Interpreter tool (registered customers only) . For more information, you may also refer to Troubleshooting High CPU Utilization.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on the software version below:

  • Cisco IOS® Software Release 12.2(10b)

The information presented in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If you are working in a live network, ensure that you understand the potential impact of any command before using it.

Conventions

For more information on document conventions, see the Cisco Technical Tips Conventions.

The show processes Command

The following is a sample output of the show processes command:

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 

The following table lists and describes the fields in the show processes command output:

Field Description
CPU utilization for five seconds CPU utilization for the last five seconds. The second number indicates the percent of CPU time spent at the interrupt level.
one minute CPU utilization for the last minute
five minutes CPU utilization for the last five minutes
PID Process ID
Q Process queue priority. Possible values: C (critical), H (high), M (medium), L (low).
Ty Scheduler test. Possible values: * (currently running), E (waiting for an event), S (ready to run, voluntarily relinquished processor), rd (ready to run, wakeup conditions have occurred), we (waiting for an event), sa (sleeping until an absolute time), si (sleeping for a time interval), sp (sleeping for a time interval (alternate call), st (sleeping until a timer expires), hg (hung; the process will never execute again), xx (dead: the process has terminated, but has not yet been deleted.).
PC Current program counter
Runtime (uS) CPU time the process has used, in microseconds
Invoked Number of times the process has been invoked
uSecs Microseconds of CPU time for each process invocation
Stacks Low water mark or Total stack space available, shown in bytes
TTY Terminal that controls the process
Process Name of process. For more information, refer to The Processes section of this document.

Note: Because the network server has a 4000-microsecond clock resolution, runtimes are considered reliable only after a large number of invocations or a reasonable, measured runtime.

The show processes cpu Command

The show processes cpu command displays information about the active processes in the router and their corresponding CPU utilization statistics. The following is a sample output of the show processes cpu command:

 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 

The following table lists and describes the fields in the show processes cpu output:

Field Description
CPU utilization for five seconds CPU utilization for the last five seconds. The first number indicates the total, the second number indicates the percent of CPU time spent at the interrupt level.
one minute CPU utilization for the last minute
five minutes CPU utilization for the last five minutes
PID The process ID
Runtime (uS) CPU time the process has used, expressed in microseconds
Invoked The number of times the process has been invoked
uSecs Microseconds of CPU time for each process invocation
5Sec CPU utilization by task in the last five seconds
1Min CPU utilization by task in the last minute
5Min CPU utilization by task in the last five minutes
TTY Terminal that controls the process
Process Name of the process. For more information, refer to The Processes section of this document.

Note: Because the network server has a 4000-microsecond clock resolution, runtimes are considered reliable only after a large number of invocations, or a reasonable, measured runtime.

The show processes cpu history Command

The show processes cpu history command displays in ASCII graphical form the total CPU usage on the router over a period of time: one minute, one hour, and 72 hours, displayed in increments of one second, one minute, and one hour, respectively. Maximum usage is measured and recorded every second; average usage is calculated on periods over one second.

The following is a sample output of the one-hour portion of the output:

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

  • The Y-axis of the graph is the CPU utilization.

  • The X-axis of the graph is the increment within the period displayed in the graph; in this instance, it is the individual minutes during the previous hour. The most recent measurement is on the left end of the X-axis.

  • The top two rows, read vertically, display the highest percentage of CPU utilization recorded during the increment.

  • In the above example, the CPU utilization for the last minute recorded is 66 percent. The router may have reached 66 percent only once during that minute, or it may have reached 66 percent multiple times; the router records only the peak reached during the increment and the average over the course of that increment.

The show processes memory Command

The show processes memory command displays information about the active processes in the router and the corresponding memory used. The following is a sample output of the show processes memory command:

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 

Note: Due to the way in which show processes memory sorted is implemented in certain Cisco routers and switches, some devices (such as the Cisco 7304) show the total value as the sum of the processor memory and IO memory, rather than the total of the processor memory as shown by show processes memory.

The table below lists the fields and descriptions in the show processes memory command output:

Field Description
Total Total amount of memory held
Used Total amount of used memory
Free Total amount of free memory
PID Process ID
TTY Terminal that controls the process
Allocated Bytes of memory allocated by the process
Freed Bytes of memory freed by the process, regardless of who originally allocated it
Holding Amount of memory being held by a process. This parameter is useful for troubleshooting when a memory leak is suspected. If a process is seen to be consuming an increasingly larger amount of memory over a period of time, it is likely that a memory leak is occurring. For more information, see Memory Leak Bug.
Getbufs Number of times the process has requested a packet buffer
Retbufs Number of times the process has relinquished a packet buffer
Process Process name. For more information, refer to The Processes section of this document.
Total Total amount of memory held by all processes

The Processes

The table below explains the individual processes in the show processes, show processes cpu, and show processes memory outputs. This is not an exhaustive list.

Process Explanation
ARP Input Handles incoming Address Resolution Protocol (ARP) requests
BGP I/O Handles reading, writing, and executing Border Gateway Protocol (BGP) messages
BGP Scanner Scans the BGP and main routing tables to ensure consistency (this is a separate process since it can be quite time-consuming)
BGP Router Main BGP process which starts when the configuration is fully loaded
BOOTP Server The gateway's Bootstrap Protocol (BOOTP) server process
CallMIB Background Deletes the call history if the call history ages out and gathers call information
CDP Protocol
  • Main Cisco Discovery Protocol (CDP) - handles the initialization of CDP for each interface
  • If incoming packet, monitors the CDP queue and timers, then processes it
  • If timer event, sends update
Check heaps Checks the memory every minute. It forces a reload if it finds processor corruption.
Compute load avgs
  • Computes the five minute, exponentially-decayed output bit rate of each network interface, and the loading factor of the entire system. The load average is computed using the following formula: average = ((average - interval) * exp (-t/C)) + interval where t = 5 seconds and C = 5 minutes, exp (-5/60*5)) = .983
  • Computes the load of each interface (one by one), and checks the back-up interface's load (enables them or shuts them down according to the load).
*Dead* Processes as a group that is now dead. See Troubleshooting Memory Problems for more details.
Exec Handles console exec sessions; has a high priority
Hybridge Input Handles incoming transparent bridge packets that slip through the fast paths
*Init* System initialization
IP Background
  • Called upon when you change the encapsulation (for example, when an interface moves to a new state, an IP address changes, when you add a new Data Exchange Interface (DXI) map, or when some dialer timers expire)
  • Does the periodic aging of the Internet Control Message Protocol (ICMP) redirect cache
  • Modifies the routing table according to the status of the interfaces
IP Cache Ager Ages the routing cache and heals stale recursive routes. The ager runs once every time interval (once a minute by default) and checks to make sure that a recursive routing change has not made the entry invalid. Another function of this ager is to make sure that the entire cache gets refreshed approximately every 20 minutes.
IP Input Process-switched IP packets
IP-RT Background Periodically revises the gateway of last resort and IP static routes. This process is called on demand, right after the static routes (which the gateway of last resort may depend on) have been revised.
ISDNMIB Background Sends ISDN trap service and deletes the call queue if it ages out
ISDN Timers Handles ISDN carrier timer events
Load Meter Computes the load average for the different processes every five seconds, and the five minute exponentially-decayed busy time. The load average is computed using the following formula: average = ((average - interval) * exp (-t/C)) + interval, where:
  • t = 5 seconds and C = 5 minutes, exp (-5/(60*5)) = .983~= 1007/1024
  • t = 5 seconds and C = 1 minute, exp (-5/60)) = .920~= 942/1024
Multilink PPP out Processes multilink packets that have been queued from fast-switching (outbound half fast-switching)
Net Background
  • Performs a variety of network-related background tasks. These tasks must be performed quickly and may not block for any reason. The tasks that are called in the net_background process (for example, interface dethrottling) are time critical.
  • Executes the "Compute load avgs", "Per-minute Jobs", and "Net Input" processes
  • Handles interface throttling
Net Input
  • Handles otherwise unknown packets. This is done at process level so that input queuing comes into play. If you operate at interrupt level, you could very easily lock up the router.
  • Handles some known protocols which you may decide should be offered to bridging. In this case, net_input either sends the packet to NULL, or bridges it.
Net Periodic Performs interface periodic functions every second such as:
  • resetting the periodic counter
  • clearing the input error rate counter
  • checking serial lines for restarting from glitches
  • performing any periodic keep-alive functions
  • checking protocol routing table consistency
  • doing bridge state consistency checking
  • announcing line protocol up or down events
Per-minute Jobs Performs the following tasks once a minute:
  • analyzes stack usage
  • announces low stacks
  • executes registered one_minute jobs
Per-second Jobs Performs a variety of tasks every second; executes registered one_second jobs
Pool Manager Manager process for managing growth and discarding requests from dynamic pools at the interrupt level
PPP Manager
  • Manages all PPP Finite State Machine (FSM) operations by processing PPP input packets and interface transitions
  • Monitors the PPP queue and the PPP timers (negotiation, authentication, idle, and others)

    Note: By serializing events that might be detected which interrupt routines in other processes, many common bugs can be avoided.

OSPF Router Main Open Shortest Path First (OSPF) process
OSPF Hello The OSPF process which receives hello
*Sched* The Scheduler
Serial Background Watches events and branches to the correct service routine for each expired event (mainly reset of interfaces)
Spanning Tree
  • Executes the Spanning Tree Protocol (STP), a single process that handles the multiple spanning tree algorithm
  • Monitors the STP Queue:
    • Process incoming STP packets
  • Monitors the STP timers:
    • Hello timer
    • Topology change timers
    • Digital Equipment Corporation (DEC) short age out timer
    • Forward delay timer
    • Message age timer
Tbridge Monitor
  • Dispatches "interesting packets" to the appropriate handler ("interesting traffic" is Cisco Group Management Protocol (CGMP), Internet Group Management Protocol (IGMP), OSPF packets [multicasts]
  • Monitors multicast timers which check station entry age-outs and circuit group active circuits
TCP Driver Handles the sending of packet data over a Transmission Control Protocol (TCP) connection. It includes opening or closing connections, or dropping packets when queues are full. Remote Source-Route Bridging (RSRB), serial tunneling (STUN), X.25 switching, X.25 over TCP/IP (XOT), Data-link Switching (DLSW), translation, and all TCP connections starting or ending at the router currently use TCP Driver.
TCP Timer Handles retransmission of timeout packets
Virtual exec Handles virtual type terminal (vty) lines (for example, Telnet sessions on the router).

It should be noted that high CPU utilization, by itself, does not indicate a problem with your device. For example, on your 7500 VIP, if the queueing strategy of the outbound interface is First In First Out (FIFO) and the outbound interface is congested, Rx-side buffering starts, that is, the inbound VIP starts buffering packets. Now, if Rx-side buffering is taking place, a VIP CPU utilization of 99 percent is seen. This is normal and by itself is not an indication of overloading. If the VIP receives something more important to do (for example, another packet to switch) the operation is not be affected by the high CPU. As a rough guideline, only consistently high CPU utilization over an extended period of time indicates a problem. Further, these commands are more relevant in the process of figuring out what went wrong rather than being indicators that all is not fine.

Related Information

Updated: Mar 06, 2009
Document ID: 15102