Document ID: 15102
Updated: Mar 06, 2009
Contents
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 |
|
Check heaps | Checks the memory every minute. It forces a reload if it finds processor corruption. |
Compute load avgs |
|
*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 |
|
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:
|
Multilink PPP out | Processes multilink packets that have been queued from fast-switching (outbound half fast-switching) |
Net Background |
|
Net Input |
|
Net Periodic |
Performs interface periodic functions every second such
as:
|
Per-minute Jobs |
Performs the following tasks once a minute:
|
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 |
|
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 |
|
Tbridge Monitor |
|
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
Open a Support Case (Requires a Cisco Service Contract.)
Related Cisco Support Community Discussions
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.