Dstat project is a versatile replacement for iostat, vmstat and ifstat. Dstat overcomes some of the limitations and adds some extra features.
Dstat allows you to view all of your system resources instantly, you can eg. compare disk usage in combination with interrupts from your IDE controller, or compare the network bandwidth numbers directly with the disk throughput (in the same interval).
Dstat also cleverly gives you the most detailed information in columns and clearly indicates in what magnitude and unit the output is displayed. Less confusion, less mistakes.
Dstat is also unique in letting you aggregate block device throughput for a certain diskset or network bandwidth for a group of interfaces, ie. you can see the throughput for all the block devices that make up a single filesystem or storage system.
You can customize your dstat output from /etc/dstat.conf and you can write your own dstat modules to plug into the dstat output.
Dstat's output by default is optimized for being interpreted by humans in real-time, however the new CSV output allows you to store CSV output to a file to be imported later into Gnumeric or Excel to generate graphs.
Here are some key features of "Dstat":
· Combines vmstat, iostat and ifstat information (in exactly the same timeframe)
· Modular design
· Enable/order counters as they make most sense during analysis/troubleshooting
· Easy to extend, add your own counters (please contribute those)
· Can summarize grouped block devices and see 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
· Written in python so easily extendable for the task at hand
· Allows to export CSV output
· CSV output can be imported in Gnumeric and Excel to make graphs
What's New in This Release: [ read full changelog ]
· Added external dstat_disk_tps plugin to show transactions per second
· Added support for filtering /dev/vdaX devices (KVM virtio)
· Added external dstat_squid plugin to show squid counters (Jason Friedland)
· Introduced blockdevices() to list available blockdevices
· Added support for CCISS block devices (named cciss/c0d0)
· Introduced cmd_test() to verify command and options
· Introduced cmd_readlines() to read from command output
· Introduced cmd_splitlines() to split lines read from command output
· Implement best effort /proc integer overflow handling in dstat_net (Ross Brattain)
· Added external dstat_dstat_cpu plugin to show dstat's cpu usage
· Added external dstat_dstat_ctxt plugin to show dstat's context switches
· Added external dstat_dstat_mem plugin to show dstat's memory usage
· Added external dstat_top_bio_adv plugin to show advanced top I/O usage
· Added external dstat_top_cpu_adv plugin to show advanced top cpu usage
· Added external dstat_top_io_adv plugin to show advanced top block I/O usage
· Allow specifying separator for splitline() and splitlines() functions
· Make top-plugins free memory for processes that no longer exist
· Added external dstat_top_int plugin to show most frequent interrupt by name
· Fixed python 2.6 string exception issue (Dbt 585219)
· Documentation improvements