Monitoring Control Plane Resources
The following sections explain the of memory and CPU monitoring from the perspective of the Cisco IOS process and the overall control plane:
Avoiding Problems Through Regular Monitoring
Processes should provide monitoring and notification of their status/health to ensure correct operation. When a process fails, a syslog error message is displayed and either the process is restarted or the device is rebooted. A syslog error message is displayed when a monitor detects that a process is stuck or has crashed. If the process can be restarted, it is restarted; else, the device is restarted.
Monitoring system resources enables you to detect potential problems before they occur, thus avoiding outages. The following are the advantages of regular monitoring:
-
Lack of memory on line cards that are in operation for a few years can lead to major outages. Monitoring memory usage helps to identify memory issues in the line cards and enables you to prevent an outage.
-
Regular monitoring establishes a baseline for a normal system load. You can use this information as a basis for comparison when you upgrade hardware or software—to see if the upgrade has affected resource usage.
Cisco IOS Process Resources
You can view CPU utilization statistics on active processes and see the amount of memory being used in these processes using the show memory command and the show process cpu command. These commands provide a representation of memory and CPU utilization from the perspective of only the Cisco IOS process; they do not include information for resources on the entire platform. For example, when the show memory command is used in a system with 8 GB RAM running a single Cisco IOS process, the following memory usage is displayed:
Router# show memory
Tracekey : 1#08d3ff66f05826cb63fb2b7325fcbed0
Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 7FB733EC4048 3853903068 193512428 3660390640 707918492 3145727908
reserve P 7FB733EC40A0 102404 92 102312 102312 102312
lsmpi_io 7FB7320C11A8 6295128 6294304 824 824 412
Dynamic heap limit(MB) 3000 Use(MB) 0
The show process cpu command displays Cisco IOS CPU utilization average:
Router# show process cpu
CPU utilization for five seconds: 1%/0%; one minute: 1%; five minutes: 1%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 1 14 71 0.00% 0.00% 0.00% 0 Chunk Manager
2 127 872 145 0.00% 0.00% 0.00% 0 Load Meter
3 0 1 0 0.00% 0.00% 0.00% 0 Policy bind Proc
4 0 1 0 0.00% 0.00% 0.00% 0 Retransmission o
5 0 1 0 0.00% 0.00% 0.00% 0 IPC ISSU Dispatc
6 11 13 846 0.00% 0.00% 0.00% 0 RF Slave Main Th
7 0 1 0 0.00% 0.00% 0.00% 0 EDDRI_MAIN
8 0 1 0 0.00% 0.00% 0.00% 0 RO Notify Timers
9 1092 597 1829 0.00% 0.01% 0.00% 0 Check heaps
10 8 73 109 0.00% 0.00% 0.00% 0 Pool Manager
11 0 1 0 0.00% 0.00% 0.00% 0 DiscardQ Backgro
12 0 2 0 0.00% 0.00% 0.00% 0 Timers
13 0 32 0 0.00% 0.00% 0.00% 0 WATCH_AFS
14 0 1 0 0.00% 0.00% 0.00% 0 MEMLEAK PROCESS
15 1227 40758 30 0.00% 0.02% 0.00% 0 ARP Input
16 41 4568 8 0.00% 0.00% 0.00% 0 ARP Background
17 0 2 0 0.00% 0.00% 0.00% 0 ATM Idle Timer
18 0 1 0 0.00% 0.00% 0.00% 0 ATM ASYNC PROC
19 0 1 0 0.00% 0.00% 0.00% 0 CEF MIB API
20 0 1 0 0.00% 0.00% 0.00% 0 AAA_SERVER_DEADT
21 0 1 0 0.00% 0.00% 0.00% 0 Policy Manager
22 0 2 0 0.00% 0.00% 0.00% 0 DDR Timers
23 60 23 2608 0.00% 0.00% 0.00% 0 Entity MIB API
24 43 45 955 0.00% 0.00% 0.00% 0 PrstVbl
25 0 2 0 0.00% 0.00% 0.00% 0 Serial Backgroun
26 0 1 0 0.00% 0.00% 0.00% 0 RMI RM Notify Wa
27 0 2 0 0.00% 0.00% 0.00% 0 ATM AutoVC Perio
28 0 2 0 0.00% 0.00% 0.00% 0 ATM VC Auto Crea
29 30 2181 13 0.00% 0.00% 0.00% 0 IOSXE heartbeat
30 1 9 111 0.00% 0.00% 0.00% 0 Btrace time base
31 5 182 27 0.00% 0.00% 0.00% 0 DB Lock Manager
32 16 4356 3 0.00% 0.00% 0.00% 0 GraphIt
33 0 1 0 0.00% 0.00% 0.00% 0 DB Notification
34 0 1 0 0.00% 0.00% 0.00% 0 IPC Apps Task
35 0 1 0 0.00% 0.00% 0.00% 0 ifIndex Receive
36 4 873 4 0.00% 0.00% 0.00% 0 IPC Event Notifi
37 49 4259 11 0.00% 0.00% 0.00% 0 IPC Mcast Pendin
38 0 1 0 0.00% 0.00% 0.00% 0 Platform appsess
39 2 73 27 0.00% 0.00% 0.00% 0 IPC Dynamic Cach
40 5 873 5 0.00% 0.00% 0.00% 0 IPC Service NonC
41 0 1 0 0.00% 0.00% 0.00% 0 IPC Zone Manager
42 38 4259 8 0.00% 0.00% 0.00% 0 IPC Periodic Tim
43 18 4259 4 0.00% 0.00% 0.00% 0 IPC Deferred Por
44 0 1 0 0.00% 0.00% 0.00% 0 IPC Process leve
45 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat Manager
46 3 250 12 0.00% 0.00% 0.00% 0 IPC Check Queue
47 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat RX Cont
48 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat TX Cont
49 22 437 50 0.00% 0.00% 0.00% 0 IPC Keep Alive M
50 25 873 28 0.00% 0.00% 0.00% 0 IPC Loadometer
51 0 1 0 0.00% 0.00% 0.00% 0 IPC Session Deta
52 0 1 0 0.00% 0.00% 0.00% 0 SENSOR-MGR event
53 2 437 4 0.00% 0.00% 0.00% 0 Compute SRP rate
Overall Control Plane Resources
Control plane memory and CPU utilization on each control processor allows you to keep a tab on the overall control plane resources. You can use the show platform resources command to monitor the overall system health and resource usage for the IOS XE platforms. Also, you can use the show platform software status control-processor brief command (summary view) or the show platform software status control-processor command (detailed view) to view control plane memory and CPU utilization information.
All control processors should show status, Healthy. Other possible status values are Warning and Critical. Warning indicates that the device is operational, but that the operating level should be reviewed. Critical implies that the device is nearing failure.
If you see a Warning or Critical status, take the following actions:
-
Reduce the static and dynamic loads on the system by reducing the number of elements in the configuration or by limiting the capacity for dynamic services.
-
Reduce the number of routes and adjacencies, limit the number of ACLs and other rules, reduce the number of VLANs, and so on.
The following sections describe the fields in the show platform software status control-processor command output.
Load Average
Load average represents the process queue or process contention for CPU resources. For example, on a single-core processor, an instantaneous load of 7 would mean that seven processes are ready to run, one of which is currently running. On a dual-core processor, a load of 7 would mean that seven processes are ready to run, two of which are currently running.
Memory Utilization
Memory utilization is represented by the following fields:
-
Total—Total line card memory
-
Used—Consumed memory
-
Free—Available memory
-
Committed—Virtual memory committed to processes
CPU Utilization
CPU utilization is an indication of the percentage of time the CPU is busy, and is represented by the following fields:
-
CPU—Allocated processor
-
User—Non-Linux kernel processes
-
System—Linux kernel process
-
Nice—Low-priority processes
-
Idle—Percentage of time the CPU was inactive
-
IRQ—Interrupts
-
SIRQ—System Interrupts
-
IOwait—Percentage of time CPU was waiting for I/O
Example: show platform software status control-processor Command
The following are some examples of using the show platform software status control-processor command:
Router# show platform software status control-processor
RP0: online, statistics updated 3 seconds ago
RP0: online, statistics updated 5 seconds ago
Load Average: healthy
1-Min: 1.35, status: healthy, under 9.30
5-Min: 1.06, status: healthy, under 9.30
15-Min: 1.02, status: healthy, under 9.30
Memory (kb): healthy
Total: 7768456
Used: 2572568 (33%), status: healthy
Free: 5195888 (67%)
Committed: 3112968 (40%), under 90%
Per-core Statistics
CPU0: CPU Utilization (percentage of time spent)
User: 3.00, System: 2.40, Nice: 0.00, Idle: 94.60
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU1: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU2: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU3: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU4: CPU Utilization (percentage of time spent)
User: 7.30, System: 1.70, Nice: 0.00, Idle: 91.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU5: CPU Utilization (percentage of time spent)
User: 3.30, System: 1.50, Nice: 0.00, Idle: 95.20
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU6: CPU Utilization (percentage of time spent)
User: 17.91, System: 11.81, Nice: 0.00, Idle: 70.27
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU7: CPU Utilization (percentage of time spent)
User: 11.91, System: 13.31, Nice: 0.00, Idle: 74.77
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU8: CPU Utilization (percentage of time spent)
User: 2.70, System: 2.00, Nice: 0.00, Idle: 95.30
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU9: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU10: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
CPU11: CPU Utilization (percentage of time spent)
User: 0.00, System: 0.00, Nice: 0.00, Idle:100.00
IRQ: 0.00, SIRQ: 0.00, IOwait: 0.00
Router# show platform software status control-processor brief
Load Average
Slot Status 1-Min 5-Min 15-Min
RP0 Healthy 1.14 1.07 1.02
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
RP0 Healthy 7768456 2573416 (33%) 5195040 (67%) 3115096 (40%)
CPU Utilization
Slot CPU User System Nice Idle IRQ SIRQ IOwait
RP0 0 2.80 1.80 0.00 95.39 0.00 0.00 0.00
1 0.00 0.00 0.00 100.00 0.00 0.00 0.00
2 0.00 0.00 0.00 100.00 0.00 0.00 0.00
3 0.00 0.00 0.00 100.00 0.00 0.00 0.00
4 6.80 1.80 0.00 91.39 0.00 0.00 0.00
5 3.20 1.60 0.00 95.19 0.00 0.00 0.00
6 16.30 12.60 0.00 71.10 0.00 0.00 0.00
7 12.40 13.70 0.00 73.90 0.00 0.00 0.00
8 2.40 2.40 0.00 95.19 0.00 0.00 0.00
9 0.00 0.00 0.00 100.00 0.00 0.00 0.00
10 0.00 0.00 0.00 100.00 0.00 0.00 0.00
11 0.00 0.00 0.00 100.00 0.00 0.00 0.00