summaryrefslogtreecommitdiffstats
path: root/Reaktor/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
commit814f3d48f67901a79b278bc49a9847cbf9e47ff1 (patch)
treeb22e85b4fdce7daaec396634d16bfaf75d50f5ba /Reaktor/elchos/commands/io
parent9c34e20898def5954da2f50fdc6036209521b5f8 (diff)
elchos is now a Reaktor submodule
Diffstat (limited to 'Reaktor/elchos/commands/io')
-rwxr-xr-xReaktor/elchos/commands/io25
1 files changed, 25 insertions, 0 deletions
diff --git a/Reaktor/elchos/commands/io b/Reaktor/elchos/commands/io
new file mode 100755
index 00000000..eb04ae9b
--- /dev/null
+++ b/Reaktor/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