aboutsummaryrefslogtreecommitdiffstats
path: root/elchos/commands/io
diff options
context:
space:
mode:
authorroot <root@darth_serious>2014-05-12 16:31:10 +0200
committerroot <root@darth_serious>2014-05-12 16:31:10 +0200
commit17f3fc71f06f4b27ee3831114dcca7b80384e334 (patch)
tree462cb51535ebbe85903d5281816e242d4c46c1e7 /elchos/commands/io
parente99776a9a3eaf65a5d0a17182c11f08a88a5092f (diff)
elchos is now a Reaktor submodule
Diffstat (limited to 'elchos/commands/io')
-rwxr-xr-xelchos/commands/io25
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