on 10-06-2014 06:47 AM
If CPU utilization rises due to a performance limit or software failures on IOS-XR, the CPU utilization may continue to keep around 25% or 50%.
This phenomenon occurs because IOS-XR supports multi-core CPUs, and many modules use a multi-core CPU.
* Even with a multi-core CPU, the CPU utilization may rise up to 100% (high CPU) depending on the situation.
How to check CPU Utilization
Command execution example |
---|
Pattern 1 (no CPU load) RP/0/RP0/CPU0:XR#show processes cpu | inc util RP/0/RP0/CPU0:XR#show processes cpu | inc util RP/0/RP0/CPU0:XR#show processes cpu | inc util RP/0/RP0/CPU0:XR#show processes cpu | inc util |
Each process of IOS-XR contains a thread, which is running on another CPU core.
In the example shown below, the status of each BGP process running on four-core CPU RPs are verified by using the "show processes" command.From the TID value, we can see that 23 threads exist in the BGP processes.From the CPU value, we can see that each thread is running by being separated into four cores, from 0 to 3.
Detailed Information on BGP Processes
Command execution example |
---|
RP/0/RSP0/CPU0:ASR9K#show processes bgp detail JID TID CPU Stack pri state TimeInState HR:MM:SS:MSEC NAME |
Name of each thread in the BGP processes can be confirmed by "show processes threadname <jid>".
* Specify Job ID confirmed by "show processes" for jid.
Name of Each Thread in BGP Processes
Command execution example |
---|
RP/0/RSP0/CPU0:ASR9K#show processes bgp threadname 1049 << Specify jid confirmed by show processes bgp JID TID ThreadName pri state TimeInState NAME |
For example, bgp-router thread in the BGP process use up 100% of the CPU resources.
Since the bgp-router thread is TID(Thread ID) 14, from "show processes bgp detail", we can see that it is running on CPU core 2.Shown below is the result of verifying the CPU utilization by the "show processes cpu" command in this situation.
CPU Utilization of BGP Processes
Command execution example |
---|
RP/0/RSP0/CPU0:ASR9K#show processes cpu CPU utilization for one minute: 25%; five minutes: 16%; fifteen minutes: 3% PID 1Min 5Min 15Min Process |
Since the CPU utilization is calculated by totaling the four cores, even one core turns out to be running at close to 100% utilization, and the CPU utilization in this environment is about 25%. It is therefore difficult to find out that a multi-core CPU is in a high CPU state, even when monitoring the CPU utilization.
*Although it does not cause problems with the operations, we may have you contact us if your CPU utilization keeps at 25% or 50%.
When you use the "run top_procs -D -i1" command that allows you to check the CPU utilization of each CPU core, you can see that the CPU resources of CPU core 2 are close to 0 (less idling).
* The run command is not supported unless instructed by TAC.
Verifying CPU Utilization for Each CPU Core
Command execution example |
---|
RP/0/RSP0/CPU0:ASR9K#run top_procs -D -i1 node0_RSP0_CPU0: 328 procs, 4 cpus, 5.08 delta, 359:54:21 uptime Memory: 8192 MB total, 6.303 GB free, sample time: Sat Jan 20 08:09 AM:51 2014 cpu 0 idle: 99.30%, cpu 1 idle: 98.74%, cpu 2 idle: 0.56%, cpu 3 idle: 98.60%, total idle: 74.87%, kernel: 0.05% <snip> |
Based on the above, if one process continues to occupy 25% or 50% of CPU utilization when you are using a module with multi-core CPU on IOS-XR, it could be due to a performance limit or software failures, just like in the case of conventional high CPU problems, even when the overall utilization does not stay at 100%. Please feel free to contact TAC if you are concerned about CPU utilization.
The number of CPU cores for RP and LC supported by CRS-1/CRS-3/ASR9000 is described in the following document.
IOS-XR: Number of CPU Cores for RP/LC Supported by CRS-1/CRS-3/ASR9000
https://supportforums.cisco.com/ja/document/12067881
Original Document: https://supportforums.cisco.com/ja/document/12067876
Author: Yoichi Kanme
Posted on January 25, 2014
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: