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
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.
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.
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.