#!/bin/bash sda_r=0 sda_w=0 sda_r_old=0 sda_w_old=0 sdb_r=0 sdb_w=0 sdb_r_old=0 sdb_w_old=0 sdc_r=0 sdc_w=0 sdc_r_old=0 sdc_w_old=0 sdd_r=0 sdd_w=0 sdd_r_old=0 sdd_w_old=0 md0_r=0 md0_w=0 md0_r_old=0 md0_w_old=0 pretty(){ # Digest a single number into a pretty number num=$1 zero=000 tera=$(( $num / 1099511627776 )) num=$(( $num % 1099511627776 )) giga=$(( $num / 1073741824 )) num=$(( $num % 1073741824 )) mega=$(( $num / 1048576 )) num=$(( $num % 1048576 )) kilo=$(( $num / 1024 )) num=$(( $num % 1024 )) byte=${num:-0} one=byte && two=zero && sign=B [ $kilo -gt 0 ] && one=kilo && two=byte && sign=kB [ $mega -gt 0 ] && one=mega && two=kilo && sign=MB [ $giga -gt 0 ] && one=giga && two=mega && sign=GB [ $tera -gt 0 ] && one=tera && two=giga && sign=TB printf "%0.2f %s\n" $(eval echo \$$one.\$$two) $sign } while true do # Get new values eval $(awk '{print "sda_r=" $3 " sda_w=" $7}' /sys/block/sda/stat) eval $(awk '{print "sdb_r=" $3 " sdb_w=" $7}' /sys/block/sdb/stat) eval $(awk '{print "sdc_r=" $3 " sdc_w=" $7}' /sys/block/sdc/stat) eval $(awk '{print "sdd_r=" $3 " sdd_w=" $7}' /sys/block/sdd/stat) eval $(awk '{print "md0_r=" $3 " md0_w=" $7}' /sys/block/md0/stat) # Compute diffs sda_r_diff=$(( ($sda_r - $sda_r_old) * 512)) sda_w_diff=$(( ($sda_w - $sda_w_old) * 512)) sdb_r_diff=$(( ($sdb_r - $sdb_r_old) * 512)) sdb_w_diff=$(( ($sdb_w - $sdb_w_old) * 512)) sdc_r_diff=$(( ($sdc_r - $sdc_r_old) * 512)) sdc_w_diff=$(( ($sdc_w - $sdc_w_old) * 512)) sdd_r_diff=$(( ($sdd_r - $sdd_r_old) * 512)) sdd_w_diff=$(( ($sdd_w - $sdd_w_old) * 512)) md0_r_diff=$(( ($md0_r - $md0_r_old) * 512)) md0_w_diff=$(( ($md0_w - $md0_w_old) * 512)) # Print the display printf "\033[0;0H" printf "sda: %12s %12s \033[K\n" "$(pretty $sda_r_diff)" "$(pretty $sda_w_diff)" printf "sdb: %12s %12s \033[K\n" "$(pretty $sdb_r_diff)" "$(pretty $sdb_w_diff)" printf "sdc: %12s %12s \033[K\n" "$(pretty $sdc_r_diff)" "$(pretty $sdc_w_diff)" printf "sdd: %12s %12s \033[K\n" "$(pretty $sdd_r_diff)" "$(pretty $sdd_w_diff)" printf "md0: %12s %12s \033[K\n" "$(pretty $md0_r_diff)" "$(pretty $md0_w_diff)" # Save values sda_r_old=$sda_r sda_w_old=$sda_w sdb_r_old=$sdb_r sdb_w_old=$sdb_w sdc_r_old=$sdc_r sdc_w_old=$sdc_w sdd_r_old=$sdd_r sdd_w_old=$sdd_w md0_r_old=$md0_r md0_w_old=$md0_w # Sleep until the next cycle sleep 1 done
Note: You are viewing an old version of this page. View the current version.