# cpu load # Grab previous stats cache=/tmp/cpuloadcache [ ! -f /tmp/cpuloadcache ] || touch $cache curr_stats=($(head -n 1 /proc/stat)) prev_stats=$(cat /tmp/cpuloadcache) prev_stats=($prev_stats) # Caculate current stats curr_sum="${curr_stats[@]:1}" curr_sum=$((${curr_sum// /+})) # Caculate previous stats prev_sum="${prev_stats[@]:1}" prev_sum=$((${prev_sum// /+})) # Caculate Delta delta=$((curr_sum - prev_sum)) # Calculate IDle idle=$((curr_stats[4] - prev_stats[4])) # calculate usage by subtracting delat from idle used=$((delta - idle)) cpu_usage=$((100 * used / delta)) echo "${curr_stats[@]}" > /tmp/cpuloadcache echo $cpu_usage"%"