#!/bin/sh
os=`uname`
total=0
idle=0
system=0
user=0
nice=0
mem=0
vmexec=`which vmstat | awk '{print $1}'`
if [ "$vmexec" = "no" ]
then
echo "error_text=Please check vmstat execute path"
exit
else
if [ "$os" = "linux" ] || [ "$os" = "Linux" ]
then
which sar > /dev/null 2>&1
if [ $? -ne 0 ]
then
ver=`vmstat -V | awk '{printf $3}'`
if [ "$ver" = "2.0.11" ] || [ "$ver" = "2.0.7" ] || [ "$ver" = "2.0.6" ]
then
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$14)}'`
system=`echo $temp |awk '{printf("%s\n",$15)}'`
idle=`echo $temp |awk '{printf("%s\n",$16)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
elif [ "$ver" = "2.0.13" ]
then
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$13)}'`
system=`echo $temp |awk '{printf("%s\n",$14)}'`
idle=`echo $temp |awk '{printf("%s\n",$15)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
else
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$13)}'`
system=`echo $temp |awk '{printf("%s\n",$14)}'`
idle=`echo $temp |awk '{printf("%s\n",$15)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
fi
else
sar -u 1 3 > sar_cpu_output 2>&1
grep -i "Usage" sar_cpu_output > /dev/null
if [ $? -eq 0 ]
then
sar -U 1 3 > sar_cpu_output 2>&1
fi
cat sar_cpu_output | grep Average > cputemp
user=`sed -n 1p cputemp|awk '{ print $3 }'`
nice=`sed -n 1p cputemp|awk '{ print $4 }'`
system=`sed -n 1p cputemp|awk '{ print $5 }'`
idle=`sed -n 1p cputemp|awk '{ print $6 }'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
fi
elif [ "$os" = "SunOS" ]
then
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$20)}'`
system=`echo $temp |awk '{printf("%s\n",$21)}'`
idle=`echo $temp |awk '{printf("%s\n",$22)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
elif [ "$os" = "HP-UX" ]
then
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$16)}'`
system=`echo $temp |awk '{printf("%s\n",$17)}'`
idle=`echo $temp |awk '{printf("%s\n",$18)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
elif [ "$os" = "SCO_SV" ] || [ "$os" = "UnixWare" ]
then
nice=0
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$18)}'`
system=`echo $temp |awk '{printf("%s\n",$19)}'`
idle=`echo $temp |awk '{printf("%s\n",$20)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
elif [ "$os" = "AIX" ] || [ "$os" = "aix" ]
then
temp=`vmstat 1 3 |tail -1`
user=`echo $temp |awk '{printf("%s\n",$14)}'`
system=`echo $temp |awk '{printf("%s\n",$15)}'`
idle=`echo $temp |awk '{printf("%s\n",$16)}'`
total=`echo|awk '{print (c1+c2)}' c1=$system c2=$user`
else
echo "error_text=Unsupported platform: $os"
exit
fi
echo "Total CPU Utilization=$total"
echo "CPU Utilization (user)=$user"
echo "CPU Utilization (system)=$system"
echo "CPU Utilization (nice)=$nice"
echo "CPU Utilization (idle)=$idle"
fi
exit 0