Contents

Introduction

Prerequisites

Requirements

Components Used

Conventions

Background Information

The show processes Command

The show processes cpu Command

The show processes cpu history Command

The show processes memory Command

The Processes

Related Information

Introduction

This document describes the show processes command and the detailed statistics attained from the command output.

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 in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Conventions

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

Background Information

The show processes command displays information about active processes on a device. 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.

To verify if the CPU or memory utilization level on your device indicates a possible problem, use theOutput Interpreter tool. For more information, refer to Troubleshooting High CPU Utilization.

Note: Only registered Cisco users have access to internal Cisco tools and information.

The show processes Command

This 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

This table lists and describes the fields in theshow processescommand 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: * (that currently runs), E (that waits for an event), S (ready to run, voluntarily relinquished processor), rd (ready to run, wake up conditions have occurred), we (that waits for an event), sa (sleeps until an absolute time), si (sleeps for a time interval), sp (sleeps for a time interval (alternate call), st (sleeps until a timer expires), hg (hung; the process does not 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 CPU utilization statistics. This 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

This next 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.

This 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 of 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 while it incremented.

- In the previous example, the CPU utilization for the last minute recorded is 66 percent. The router can reach 66 percent only once for that minute, or it can reach 66 percent multiple times; the router records only the peak reached while it increments 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 memory used. This 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.

This table 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 that is held by a process. This parameter is helps you troubleshoot when a memory leak is suspected. If a process consumes memory and that consumption increases over a period of time, it is likely there is a memory leak. 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

The name of the process. For more information, refer to the Processes section of this document.

Total

Total amount of memory held by all processes.

The Processes

The next table 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 and it can consume a lot of time).

BGP Router

Main BGP process which starts when the configuration is fully loaded.

BOOTP Server

The gateway 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 with this 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 load (enables them or shuts them down based on 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 based on 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 is dependent 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 with this 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 cannot 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 when it becomes throttled.

Net Input

- Handles otherwise unknown packets. This is done at process level so that input queue comes into play. If you operate at interrupt level, you can easily lock up the router.

- Handles some known protocols you decide to offer to the bridge. In this case, net_input either sends the packet to NULL, or bridges it.

Net Periodic

Performs interface periodic functions every second such as:

- resets the periodic counter

- clears the input error rate counter

- checks serial lines to see if they restart  from glitches

- performs any periodic keep-alive functions

- checks protocol routing table consistency

- checks the bridge state consistency that announces line protocol up or down events

Per-minute Jobs

Performs these 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 manages growth and discards requests from dynamic pools at the interrupt level.

PPP Manager

- Manages all PPP Finite State Machine (FSM) operations and processes PPP input packets and interface transitions.

- Monitors the PPP queue and the PPP timers (negotiation, authentication, idle, and others).

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 packets of interest" to the appropriate handler ("traffic of interest" 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

Sends packet data over a Transmission Control Protocol (TCP) connection. Opens and closes connections, or dropped packets when the 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 that start or end 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).

High CPU utilization, by itself, does not indicate a problem with your device. As a rough guideline, only consistently high CPU utilization over an extended period of time indicates a problem. Further, these commands are not indicators of, but rather, they work to help figure out what went wrong.

Related Information

- Troubleshooting High CPU Utilization on Cisco Routers

- Troubleshooting Memory Problems

- Cisco Technical Support & Downloads