Disk i/o & Performance Tuning Benchmarking Tool
Dstat is a flexible replacement for vmstat, iostat, netstat and ifstat. Dstat overcomes some of their limitations and adds some extra features. Dstat is handy for monitoring systems during performance tuning tests, disk i/o, benchmarks or troubleshooting.
Dstat allows you to view all of your system resources in real-time, you can eg. compare disk utilization in combination with interrupts from your IDE controller, or compare the network bandwidth numbers directly with the disk throughput (in the same interval).
Dstat gives you detailed selective information in columns and clearly indicates in what degree and unit the output is displayed. And most importantly, it makes it very easy to write plugins to collect your own counters and extend in ways you never expected.
Features
* Combines vmstat, iostat, ifstat, netstat information and more
* Shows stats in exactly the same timeframe
* Enable/order counters as they make most sense during analysis/troubleshooting
* Modular design
* Written in python so easily extendable for the task at hand
* Easy to extend, add your own counters (please contribute those)
* Includes many external plugins to show how easy it is to add counters
* Can summarize grouped block/network devices and give total numbers
* Can show interrupts per device
* Very accurate timeframes, no timeshifts when system is stressed
* Shows exact units and limits conversion mistakes
* Indicate different units with different colors
* Show intermediate results when delay > 1
* Allows to export CSV output, which can be imported in Gnumeric and Excel to make graphs
Here are the existing plugins
[server@manoj ~]# dstat –list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock,
mem, net, page, page24, proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix,
vm
/usr/share/dstat:
battery, battery-remain, cpufreq, dbus, disk-recsize, disk-tps, disk-util, dstat,
dstat-cpu, dstat-ctxt, dstat-mem, fan, freespace, gpfs, gpfs-ops, helloworld,
innodb-buffer, innodb-io, innodb-ops, lustre, mem-adv, memcache-hits, mysql-io,
mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys, net-packets, nfs3,
nfs3-ops, nfsd3, nfsd3-ops, ntp, pcap-ssh, postfix, power, proc-count, proc-count2,
proc-count3, qmail, rpc, rpcd, sendmail, snooze, squid, test, thermal, top-bio,
top-bio-adv, top-childwait, top-cpu, top-cpu-adv, top-cpu2, top-cpu3, top-cputime,
top-cputime-avg, top-int, top-io, top-io-adv, top-latency, top-latency-avg, top-mem,
top-oom, top-tcp-ports, utmp, vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io,
vz-ubc, wifi
You can see the detailed dstat – Linux man page http://dag.wieers.com/home-made/dstat/dstat.1.html and http://linux.die.net/man/1/dstat
[server@manoj ~]# dstat
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
5 0 93 0 0 0| 154k 84k| 0 0 | 0 0 |1081 1116
13 0 87 0 0 0| 0 0 | 0 0 | 0 0 |1036 696
8 0 92 0 1 0| 0 8192B| 0 0 | 0 0 |1073 936
0 0 99 0 0 1| 0 0 | 0 0 | 0 0 |1072 940
1 1 97 0 2 0| 0 0 | 0 0 | 0 0 |1252 1727
1 1 98 0 1 0| 0 0 | 0 0 | 0 0 |1126 1191
1 0 99 0 0 0| 0 0 | 0 0 | 0 0 |1045 908
0 0 99 0 0 0| 0 44k| 0 0 | 0 0 |1051 904
1 1 99 0 0 0| 0 0 | 0 0 | 0 0 |1036 850
1 0 100 0 0 0| 0 0 | 0 0 | 0 0 |1029 757
