dstat -dnyc -N eth0 -C total -f 5
dstat - versatile tool for generating system resource statistics
dstat [-afv] [options..] [delay [count]]
Dstat is a versatile replacement for vmstat, iostat 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, more efficient.
Dstat is 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.
Dstat allows its data to be directly written to a CSV file to be imported and used by OpenOffice, Gnumeric or Excel to create graphs.
Note
|
Users of Sleuthkit might find Sleuthkit's dstat being renamed to datastat to avoid a name conflict. See Debian bug #283709 for more information. |
enable cpu stats (system, user, idle, wait, hardware interrupt, software interrupt)
include cpu0, cpu3 and total
enable disk stats (read, write)
include hda and total
enable page stats (page in, page out)
enable interrupt stats
include interrupt 5 and 10
enable load average stats (1 min, 5 mins, 15mins)
enable memory stats (used, buffers, cache, free)
enable network stats (receive, send)
include eth1 and total
enable process stats (runnable, uninterruptible, new)
enable I/O request stats (read, write requests)
enable swap stats (used, free)
include swap1 and total
enable time/date output
enable time counter (seconds since epoch)
enable system stats (interrupts, context switches)
enable aio stats (asynchronous I/O)
enable filesystem stats (open files, inodes)
enable ipc stats (message queue, semaphores, shared memory)
enable file lock stats (posix, flock, read, write)
enable raw stats (raw sockets)
enable socket stats (total, tcp, udp, raw, ip-fragments)
enable tcp stats (listen, established, syn, time_wait, close)
enable udp stats (listen, active)
enable unix stats (datagram, stream, listen, active)
enable vm stats (hard pagefaults, soft pagefaults, allocated, free))
enable internal and external plugin stats
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
dstat --list
equals -cdngy (default)
expand -C, -D, -I, -N and -S discovery lists
equals -pmgdsc -D total
list the internal and external plugin names
show integer values
disable colors (implies --noupdate)
disable repetitive headers
disable intermediate updates when delay > 1
write CSV output to file
delay is the delay in seconds between each update
count is the number of updates to display before exiting
The default delay is 1 and count is unspecified (unlimited)
When invoking dstat with a delay greater than 1 and without the --noupdate option, it will show intermediate updates, ie. the first time a 1 sec average, the second update a 2 second average, etc. until the delay has been reached.
So in case you specified a delay of 10, the 9 intermediate updates are NOT snapshots, they are averages over the time that passed since the last final update. The end result is that you get a 10 second average on a new line, just like with vmstat.
Using dstat to relate disk-throughput with network-usage (eth0), total CPU-usage and system counters:
dstat -dnyc -N eth0 -C total -f 5
Checking dstat's behaviour and the system's impact on dstat:
dstat -taf --debug
Using the time plugin together with cpu, net, disk, system, load, proc and topcpu plugins:
dstat -tcndylp -M topcpu
this is identical to
dstat -M time,cpu,net,disk,sys,load,proc,topcpu
Using dstat to relate cpu stats with interrupts per device:
dstat -tcyif
Since it is practically impossible to test dstat on every possible permutation of kernel, python or distribution version, I need your help and your feedback to fix the remaining problems. If you have improvements or bugreports, please send them to: dag@wieers.com
Note
|
Please see the TODO file for known bugs and future plans. |
Paths that may contain external dstat_*.py plugins:
~/.dstat/ ./ ./plugins/ (path of binary)/plugins/ /usr/share/dstat/ /usr/local/share/dstat/
ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat, vmstat(1), xosview(1)
htop(1), lslk(1), lsof(8), top(1)
ltrace(1), pmap(1), ps(1), pstack(1), strace(1)
ldd(1), file(1), nm(1), objdump(1), readelf(1)
free(1), memusage, memusagestat, slabtop(1)
dump-acct, dump-utmp, sa(8)
dmidecode, ifinfo(1), lsdev(1), lshal(1), lshw(1), lsmod(8), lspci(8), lsusb(8), smartctl(8), x86info(1)
mailstats(8), qshape(1)
xdpyinfo(1), xrestop(1)
collectl(1), proc(5), procinfo(8)
Written by Dag Wieers dag@wieers.com
Homepage at http://dag.wieers.com/home-made/dstat/
This manpage was initially written by Andrew Pollock apollock@debian.org for the Debian GNU/Linux system.