NAME
dstat - versatile tool for generating system resource statistics
SYNOPSIS
dstat [-afv] [options..] [delay [count]]
DESCRIPTION
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.
OPTIONS
-c, --cpu
enable cpu stats (system, user, idle, wait, hardware interrupt,
software interrupt)
-C 0,3,total
include cpu0, cpu3 and total
-d, --disk
enable disk stats (read, write)
-D total,hda
include hda and total
-g, --page
enable page stats (page in, page out)
-i, --int
enable interrupt stats
-I 5,10
include interrupt 5 and 10
-l, --load
enable load average stats (1 min, 5 mins, 15mins)
-m, --mem
enable memory stats (used, buffers, cache, free)
-n, --net
enable network stats (receive, send)
-N eth1,total
include eth1 and total
-p, --proc
enable process stats (runnable, uninterruptible, new)
-r, --io
enable I/O request stats (read, write requests)
-s, --swap
enable swap stats (used, free)
-S swap1,total
include swap1 and total
-t, --time
enable time/date output
-T, --epoch
enable time counter (seconds since epoch)
-y, --sys
enable system stats (interrupts, context switches)
--aio enable aio stats (asynchronous I/O)
--fs enable filesystem stats (open files, inodes)
--ipc enable ipc stats (message queue, semaphores, shared memory)
--lock enable file lock stats (posix, flock, read, write)
--raw enable raw stats (raw sockets)
--socket
enable socket stats (total, tcp, udp, raw, ip-fragments)
--tcp enable tcp stats (listen, established, syn, time_wait, close)
--udp enable udp stats (listen, active)
--unix enable unix stats (datagram, stream, listen, active)
--vm enable vm stats (hard pagefaults, soft pagefaults, allocated,
free)
--stat1 --stat2
enable (external) plugins by plugin name, see PLUGINS for
options
Possible internal stats are
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
--list list the internal and external plugin names
-a, --all
equals -cdngy (default)
-f, --full
expand -C, -D, -I, -N and -S discovery lists
-v, --vmstat
equals -pmgdsc -D total
--bw, --blackonwhite
change colors for white background terminal
--float
force float values on screen (mutual exclusive with --integer)
--integer
force integer values on screen (mutual exclusive with --float)
--nocolor
disable colors (implies --noupdate)
--noheaders
disable repetitive headers
--noupdate
disable intermediate updates when delay > 1
--output file
write CSV output to file
PLUGINS
While anyone can create their own dstat plugins (and contribute them)
dstat ships with a number of plugins already that extend its
capabilities greatly. Here is an overview of the plugins dstat ships
with:
--battery
battery in percentage (needs ACPI)
--battery-remain
battery remaining in hours, minutes (needs ACPI)
--cpufreq
CPU frequency in percentage (needs ACPI)
--dbus number of dbus connections (needs python-dbus)
--disk-util
per disk utilization in percentage
--fan fan speed (needs ACPI)
--freespace
per filesystem disk usage
--gpfs GPFS read/write I/O (needs mmpmon)
--gpfs-ops
GPFS filesystem operations (needs mmpmon)
--helloworld
Hello world example dstat plugin
--innodb-buffer
show innodb buffer stats
--innodb-io
show innodb I/O stats
--innodb-ops
show innodb operations counters
--lustre
show lustre I/O throughput
--memcache-hits
show the number of hits and misses from memcache
--mysql5-cmds
show the MySQL5 command stats
--mysql5-conn
show the MySQL5 connection stats
--mysql5-io
show the MySQL5 I/O stats
--mysql5-keys
show the MySQL5 keys stats
--mysql-io
show the MySQL I/O stats
--mysql-keys
show the MySQL keys stats
--net-packets
show the number of packets received and transmitted
--nfs3 show NFS v3 client operations
--nfs3-ops
show extended NFS v3 client operations
--nfsd3
show NFS v3 server operations
--nfsd3-ops
show extended NFS v3 server operations
--ntp show NTP time from an NTP server
--postfix
show postfix queue sizes (needs postfix)
--power
show power usage
--proc-count
show total number of processes
--rpc show RPC client calls stats
--rpcd show RPC server calls stats
--sendmail
show sendmail queue size (needs sendmail)
--snooze
show number of ticks per second
--test show test plugin output
--thermal
system temperature sensors
--top-bio
show most expensive block I/O process
--top-cpu
show most expensive CPU process
--top-cputime
show process using the most CPU time (in ms)
--top-cputime-avg
show process with the highest average timeslice (in ms)
--top-io
show most expensive I/O process
--top-latency
show process with highest total latency (in ms)
--top-latency-avg
show process with the highest average latency (in ms)
--top-mem
show process using the most memory
--top-oom
show process that will be killed by OOM the first
--utmp show number of utmp connections (needs python-utmp)
--vmk-hba
show VMware ESX kernel vmhba stats
--vmk-int
show VMware ESX kernel interrupt stats
--vmk-nic
show VMware ESX kernel port stats
--vm-memctl
show ballooning status inside VMware guests
--vz-io
show CPU usage per OpenVZ guest
--vz-ubc
show OpenVZ user beancounters
--wifi wireless link quality and signal to noise ratio
ARGUMENTS
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)
INTERMEDIATE UPDATES
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.
EXAMPLES
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 impact of dstat:
dstat -taf --debug
Using the time plugin together with cpu, net, disk, system, load, proc
and top_cpu plugins:
dstat -tcndylp --top-cpu
this is identical to
dstat --time --cpu --net --disk --sys --load --proc --top-cpu
Using dstat to relate cpu stats with interrupts per device:
dstat -tcyif
BUGS
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: [1]dag@wieers.com
Note
Please see the TODO file for known bugs and future plans.
FILES
Paths that may contain external dstat_*.py plugins:
~/.dstat/
(path of binary)/plugins/
/usr/share/dstat/
/usr/local/share/dstat/
SEE ALSO
Performance tools
ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat, vmstat(1), xosview(1)
Debugging tools
htop(1), lslk(1), lsof(8), top(1)
Process tracing
ltrace(1), pmap(1), ps(1), pstack(1), strace(1)
Binary debugging
ldd(1), file(1), nm(1), objdump(1), readelf(1)
Memory usage tools
free(1), memusage, memusagestat, slabtop(1)
Accounting tools
dump-acct, dump-utmp, sa(8)
Hardware debugging tools
dmidecode, ifinfo(1), lsdev(1), lshal(1), lshw(1), lsmod(8), lspci(8), lsusb(8), smartctl(8), x86info(1)
Application debugging
mailstats(8), qshape(1)
Xorg related tools
xdpyinfo(1), xrestop(1)
Other useful info
collectl(1), proc(5), procinfo(8)
AUTHOR
Written by Dag Wieers [1]dag@wieers.com
Homepage at [2]http://dag.wieers.com/home-made/dstat/
This manpage was initially written by Andrew Pollock
[3]apollock@debian.org for the Debian GNU/Linux system.
REFERENCES
1. dag@wieers.com
mailto:dag@wieers.com
2. http://dag.wieers.com/home-made/dstat/
http://dag.wieers.com/home-made/dstat/
3. apollock@debian.org
mailto:apollock@debian.org
0.7.0 11/25/2009