dstat (1) - Linux Manuals

dstat: versatile tool for generating system resource statistics


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.


-c, --cpu
enable cpu stats (system, user, idle, wait, hardware interrupt, software interrupt)
-C 0,3,total
include cpu0, cpu3 and total (when using -c/--cpu)
-d, --disk
enable disk stats (read, write)
-D total,hda
include total and hda (when using -d/--disk)
-g, --page
enable page stats (page in, page out)
-i, --int
enable interrupt stats
-I 5,10
include interrupt 5 and 10 (when using -i/--int)
-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 (when using -n/--net)
-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 (when using -s/--swap)
-t, --time
enable time/date output
-T, --epoch
enable time counter (seconds since epoch)
-y, --sys
enable system stats (interrupts, context switches)
enable aio stats (asynchronous I/O)
--fs, --filesystem
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 (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 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
force bits for values expressed in bytes
force float values on screen (mutual exclusive with --integer)
force integer values on screen (mutual exclusive with --float)
--bw, --blackonwhite
change colors for white background terminal
disable colors (implies --noupdate)
disable repetitive headers
disable intermediate updates when delay > 1
--output file
write CSV output to file
show profiling statistics when exiting dstat


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 in percentage (needs ACPI)
battery remaining in hours, minutes (needs ACPI)
CPU frequency in percentage (needs ACPI)
number of dbus connections (needs python-dbus)
per disk transactions per second (tps) stats
per disk utilization in percentage
show dstat cputime consumption and latency
show dstat advanced cpu usage
show dstat context switches
show dstat advanced memory usage
fan speed (needs ACPI)
per filesystem disk usage
GPFS read/write I/O (needs mmpmon)
GPFS filesystem operations (needs mmpmon)
Hello world example dstat plugin
show innodb buffer stats
show innodb I/O stats
show innodb operations counters
show lustre I/O throughput
show the number of hits and misses from memcache
show the MySQL5 command stats
show the MySQL5 connection stats
show the MySQL5 I/O stats
show the MySQL5 keys stats
show the MySQL I/O stats
show the MySQL keys stats
show the number of packets received and transmitted
show NFS v3 client operations
show extended NFS v3 client operations
show NFS v3 server operations
show extended NFS v3 server operations
show NTP time from an NTP server
show postfix queue sizes (needs postfix)
show power usage
show total number of processes
show qmail queue sizes (needs qmail)
show RPC client calls stats
show RPC server calls stats
show sendmail queue size (needs sendmail)
show number of ticks per second
show squid usage statistics
show test plugin output
system temperature sensors
show most expensive block I/O process
show most expensive block I/O process (incl. pid and other stats)
show process waiting for child the most
show most expensive CPU process
show most expensive CPU process (incl. pid and other stats)
show process using the most CPU time (in ms)
show process with the highest average timeslice (in ms)
show most frequent interrupt
show most expensive I/O process
show most expensive I/O process (incl. pid and other stats)
show process with highest total latency (in ms)
show process with the highest average latency (in ms)
show process using the most memory
show process that will be killed by OOM the first
show number of utmp connections (needs python-utmp)
show VMware ESX kernel vmhba stats
show VMware ESX kernel interrupt stats
show VMware ESX kernel port stats
show ballooning status inside VMware guests
show CPU usage per OpenVZ guest
show I/O usage per OpenVZ guest
show OpenVZ user beancounters
wireless link quality and signal to noise ratio


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 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


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 [at] wieers.com

Note Please see the TODO file for known bugs and future plans.


Paths that may contain external dstat_*.py plugins:

(path of binary)/plugins/


Written by Dag Wieers [1]dag [at] wieers.com

Homepage at [2]http://dag.wieers.com/home-made/dstat/

This manpage was initially written by Andrew Pollock [3]apollock [at] debian.org for the Debian GNU/Linux system.


1. dag [at] wieers.com
mailto:dag [at] wieers.com
2. http://dag.wieers.com/home-made/dstat/
3. apollock [at] debian.org
mailto:apollock [at] debian.org


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)