Script to capture vmstat for specific interval

#!/bin/ksh

if [ $# -eq 2 ]
then
PARENT_DIR=$1
SAMPLE_INTERVAL=$2
LOGDIR=$PARENT_DIR/`hostname`

TOTALMEMORY=`cat /proc/meminfo | grep "MemTotal" | cut -f2 -d':'`
KERNELTYPE=`readelf -h /lib/ld*.so | grep Class | cut -f2 -d: | sed -e 's/[A-Z]*//g'`
CPUTYPE=`getconf LONG_BIT`
TOTALCPU=`cat /proc/cpuinfo | grep "processor" | tail -1 | cut -f2 -d':'`
CPUSPEED=`cat /proc/cpuinfo | grep "cpu MHz" | tail -1 | cut -f2 -d':'`
OS=`uname`
OSVERSION=`uname -r`
HOSTNAME=`uname -n`
#IP=`/sbin/ifconfig -a | grep "inet " | grep -v "127.0.0.1" | cut -f2 -d":" | cut -f1 -d" " | sed -e 'N' -e 's/\n/,/'`
HARDWARE=`uname -p`
MACHINETYPE=`uname -m`
DATE=`date +"%m/%d/%Y %r"`

dt_var=`date | tr -s " " ":" | cut -f2-6 -d":" | tr -s ":" "_"`
vm_file_name=$LOGDIR"_vmstat_"$dt_var

# Write Headers
echo "#HostName: "$HOSTNAME > $vm_file_name
echo "#OS: "$OS" "$OSVERSION" "$KERNELTYPE" bit" >> $vm_file_name
echo "#Hardware: "$MACHINETYPE" "$HARDWARE >> $vm_file_name
echo "#CPU: "`expr $TOTALCPU + 1`" CPU(s) "$CPUTYPE"-bit"$CPUSPEED" MHz" >> $vm_file_name
echo "#Total Memory: "$TOTALMEMORY >> $vm_file_name

#HDR1=`vmstat | head -1 | tr  "-" " " | tr -s " " ","`
#HDR2=`vmstat | head -2 | tail -1 | tr  "-" " " | tr -s " " ","`
#echo $HDR1 >> $vm_file_name
#echo $HDR2 >> $vm_file_name

vmstat $SAMPLE_INTERVAL | while read line; do echo "`date +"%Y-%m-%d"`"_"`date +%T`,$line" | tr -s " " "," | tr -s "_" " "; done >> $vm_file_name &
p_id=$!
echo $p_id >> $LOGDIR"_process_id"
else
echo "[Usage] : startmon_linux.sh <Output Directory> <Sample Interval>"
fi