High CPU Utilization on SUSE

  • 7002713
  • 20-Feb-2009
  • 08-Nov-2012

Environment

Novell Open Enterprise Server 1 (OES 1)
Novell Open Enterprise Server 2 (OES 2)
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Desktop 10
SUSE Linux Enterprise Server 9

Situation

The server shows high CPU utilization.

The vmstat command shows the following:

#==[ Command ]======================================#
# /usr/bin/vmstat 1 4                                                                                                                vvvvvvvvvvvvvvvvvvvv
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 380820  49880 301160    0    0     3     3  341   43  0 40 60  0  0
 2  0      0 380820  49880 301160    0    0     0   184  262   69 81 19  0  0  0
 2  0      0 380820  49880 301160    0    0     0     0  251   59 80 20  0  0  0
 2  0      0 380820  49880 301160    0    0     0     0  260   59 78 22  0  0  0
                                                                  ^^^^^^^^^^^^^^

The vmstat command shows CPU utilization as percent idle in the "id" column under "cpu", so just subtract the values in the id column from 100 to get the current CPU utilization.

Resolution

It's not necessarily a bad thing to have high CPU utilization on a Linux server. However, it is an indication performance may be suffering. If you observe noticeable performance problems, they you need to investigate further. If your server seems to run properly, then the high CPU utilization may just be a spike in activity and can just be monitored.

However, if you are experiencing low memory and high CPU utilization, you may have an overburdened server. You can find which applications are consuming the most CPU cycles by looking in the supportconfig basic-health-check.txt file under the Top 10 CPU Processes section or using the ps command.

#==[ Top 10 CPU Processes ]=========================#
%CPU   PID USER     CMD
74.4 11340 root     /bin/bash /usr/local/sbin/vbatch
45.3 11379 root     /bin/bash /usr/local/sbin/emconfig
 1.6 11480 root     /bin/bash /sbin/supportconfig -m
 0.2 11382 root     -bash
 0.1 11381 root     login -- root
 0.0 11620 root     ps axwwo %cpu,pid,user,cmd
 0.0 11217 postfix  pickup -l -t fifo -u
 0.0  3586 root     -bash
 0.0  3387 root     /sbin/mingetty tty6
 0.0  3369 root     /sbin/mingetty tty5

In this case the third party vbatch and emconfig commands are taking up most of the CPU cycles. You might consider moving one of those processes to another server. There may be problems with these applications as well that may require further debugging or troubleshooting.