diff options
author | root <root@darth_serious> | 2014-05-12 16:31:10 +0200 |
---|---|---|
committer | root <root@darth_serious> | 2014-05-12 16:31:10 +0200 |
commit | 17f3fc71f06f4b27ee3831114dcca7b80384e334 (patch) | |
tree | 462cb51535ebbe85903d5281816e242d4c46c1e7 /elchos/commands/io | |
parent | e99776a9a3eaf65a5d0a17182c11f08a88a5092f (diff) |
elchos is now a Reaktor submodule
Diffstat (limited to 'elchos/commands/io')
-rwxr-xr-x | elchos/commands/io | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/elchos/commands/io b/elchos/commands/io new file mode 100755 index 0000000..eb04ae9 --- /dev/null +++ b/elchos/commands/io @@ -0,0 +1,25 @@ +#!/usr/bin/zsh +printf '%-10s %-7s %-7s %-7s %-7s\n' IFACE rxkB/s txkB/s rxTotal txTotal +sar -n DEV 1 3 | grep Average: | grep -v IFACE | grep -v ' lo ' | while read line;do + dev=$(echo $line | awk '{print $2}') + rxkb=$(echo $line | awk '{print $5}') + txkb=$(echo $line | awk '{print $6}') + total_bytes_r=$(cat /proc/net/dev | grep ${dev}: | awk '{print $2}') + total_bytes_t=$(cat /proc/net/dev | grep ${dev}: | awk '{print $10}') + + printf '%-10s %-7s %-7s %-7s %-7s\n' $dev $rxkb $txkb $((total_bytes_r / (1024*1024))) $((total_bytes_t / (1024*1024))) +done +printf "%-10s %-7s %-7s\n" "DSK" "rxkB/s" "txkB/s" +sar -p -d 1 3 | grep Average: | grep -v ' DEV ' |while read line; +do + dsk=$(echo $line | awk '{print $2}') + rd_sec=$(echo $line | awk '{print $4}') + wr_sec=$(echo $line | awk '{print $5}') + if echo $dsk | egrep -q '(sd|hd|vd)';then + # TODO for some reason 0.00 can only be interpreted correctly as arithmetic + # expession by zsh + # + # rd is counted in blocks (which is 512 bytes) + printf "%-10s %-7.2f %-7.2f\n" "/dev/$dsk" "$((rd_sec*2))" "$((wr_sec*2))" + fi +done |