The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the show processes command and the detailed statistics attained from the command output.
There are no specific requirements for this document.
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.
For more information on document conventions, see the Cisco Technical Tips Conventions.
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.
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 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 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 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 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 |
|
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 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:
|
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 these tasks once a minute:
|
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 |
|
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 |
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.
Revision | Publish Date | Comments |
---|---|---|
2.0 |
11-Dec-2023 |
Recertification |
1.0 |
14-Dec-2001 |
Initial Release |