Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - man page - DSTAT

    DSTAT

    WillieBy WillieApril 9, 2026Updated:April 9, 2026No Comments8 Mins Read
     

    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 (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)
    –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)
    –plugin-name
    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
    –float
    force float values on screen (mutual exclusive with –integer)
    –integer
    force integer values on screen (mutual exclusive with –float)
    –bw, –blackonwhite
    change colors for white background terminal
    –nocolor
    disable colors (implies –noupdate)
    –noheaders
    disable repetitive headers
    –noupdate
    disable intermediate updates when delay > 1
    –output file
    write CSV output to file
    –profile
    show profiling statistics when exiting dstat
     

    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-tps
    per disk transactions per second (tps) stats
    –disk-util
    per disk utilization in percentage
    –dstat
    show dstat cputime consumption and latency
    –dstat-cpu
    show dstat advanced cpu usage
    –dstat-ctxt
    show dstat context switches
    –dstat-mem
    show dstat advanced memory usage
    –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
    –qmail
    show qmail queue sizes (needs qmail)
    –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
    –squid
    show squid usage statistics
    –test
    show test plugin output
    –thermal
    system temperature sensors
    –top-bio
    show most expensive block I/O process
    –top-bio-adv
    show most expensive block I/O process (incl. pid and other stats)
    –top-childwait
    show process waiting for child the most
    –top-cpu
    show most expensive CPU process
    –top-cpu-adv
    show most expensive CPU process (incl. pid and other stats)
    –top-cputime
    show process using the most CPU time (in ms)
    –top-cputime-avg
    show process with the highest average timeslice (in ms)
    –top-int
    show most frequent interrupt
    –top-io
    show most expensive I/O process
    –top-io-adv
    show most expensive I/O process (incl. pid and other stats)
    –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-cpu
    show CPU usage per OpenVZ guest
    –vz-io
    show I/O 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][email protected]


    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][email protected]

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

    This manpage was initially written by Andrew Pollock [3][email protected] for the Debian GNU/Linux system.

     

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    OPENDIR

    April 21, 2026

    TAIL

    April 21, 2026

    OPERATOR

    April 21, 2026

    NANO

    April 21, 2026
    Top Posts

    How Provably Fair Systems Work in Sweepstakes Gaming Platforms

    March 18, 2026

    How to Connect to an FTP Server on Mac Using Commander One

    March 9, 2026

    MAIL

    January 19, 2026

    SYSTEMD-HALT.SERVICE

    January 26, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.