More details behind a recent CPU utilization bug
jhopper 270000YPM8 Visits (2754)
By: Jenifer Hopper.
More details on CPU utilization issues
I recently posted about a RHEL6.3 kernel update that resolves a CPU utilization bug in this blog. Since then I have received a few questions asking for more details, so I want to share those here.
Q: The problem was in /proc/stat? What was the issue?
A: Yes, there was a bug that caused incorrect idle and iowait values to be displayed in /proc/stat. The main issue was a change that caused an incorrect divisor to be used (msec vs. usec).
Q: Do I need to update my profiling tools?
A: No, the bug was in the kernel in the /proc/stat values. Some profiling tools use this interface to calculate CPU utilization.
Q: If I want to use Oprofile, do I need to install the updated debuginfo packages?
A: Yes, if you want to profile the kernel. The debuginfo packages must match the current kernel level. You will need to install these packages:
One good tip when using Oprofile to profile a RHEL kernel - after installing the debuginfo packages, you can find the uncompressed vmlinux file in this location:
Q: Is there a similar issue with other Linux distribution releases?
A: A similar bug was reported on SLES11 SP2 however it is less likely you will hit this issue since the bug was not present in the GA kernel, only in an SLES 11 SP2 maintweb kernel update, and it has since been fixed in subsequent maintweb updates.
If you are running a level newer than the SLES11 SP2 GA kernel:
3.0.26-0.7-ppc64But older than this maintweb kernel:
You should update to the latest SLES 11 SP2 maintweb release to get the CPU utilization bug fix.
Q: Does this issue affect x86, and is there an updated RHEL6.3 zstream kernel available?
A: Yes, this bug was also reported on x86 systems. You can follow the same process as described in the original blog posting, but grab the appropriate kernel rpm for your system (same kernel version) and use the appropriate bootloader method to set the default kernel.