Following script will help to collect CPU based on on every SAMPLE_TIME. This will help to collect IDLE CPU our from “vmstat” and store them in a file.
#Setup SAMPLE_TIME for cpu data collection interval
SAMPLE_TIME=5
while true
do
x=`vmstat | grep -v procs | grep -v swpd | awk '{print $15}'`
echo `date +"%m-%d-%y %T"` $x
sleep ${SAMPLE_TIME}
done
Create file with above contents and save it as test_cpu.sh for example.
Now, to run this collection in background use the following command.
nohup ./test_cpu.sh 1>test_cpu.out 2>&1 &
you can monitor using “tail -f test_cpu.out” for incremental progress of data collection. You can also use any visual tool like power BI or Excel for quick analysis.
Test comments
This is pretty good info.. definitely helpful and is working..