DOOL(1) | DOOL(1) |
NAME
dool - versatile tool for generating system resource statistics
SYNOPSIS
dool [-afv] [options..] [delay [count]]
DESCRIPTION
Dool is a versatile replacement for vmstat, iostat and ifstat. Dool overcomes some of the limitations and adds some extra features.
Dool 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).
Dool 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.
Dool 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.
Dool allows its data to be directly written to a CSV file to be imported and used by OpenOffice, Gnumeric or Excel to create graphs.
OPTIONS
-c, --cpu
-C 0,3,total
-d, --disk
-D total,sda
--diskset diskset_name:dev1,dev2,dev3,etc...
-g, --page
-i, --int
-I 5,10
-l, --load
-m, --mem
-n, --net
-N eth1,total
-p, --proc
-r, --io
-s, --swap
-S swap1,total
-t, --time
-T, --epoch
-y, --sys
--aio
--cpu-adv
--cpu-use
--fs, --filesystem
--ipc
--lock
--mem-adv
--raw
--socket
--tcp
--udp
--unix
--vm
--vm-adv
--zones
--<plugin-name>
Possible internal stats are
--list
-a, --all
-f, --full
-v, --vmstat
--bits
--bytes
--float
--integer
--color
--color16
--bw, --blackonwhite
--nocolor
--noheaders
--noupdate
--output file
--display
--dstat
--profile
--ascii
PLUGINS
While anyone can create their own dool plugins (and contribute them) dool ships with a number of plugins already that extend its capabilities greatly. Here is an overview of the plugins dool ships with:
--battery
--battery-remain
--cpufreq
--dbus
--disk-avgqu
--disk-avgrq
--disk-svctm
--disk-tps
--disk-util
--disk-wait
--dool
--dool-cpu
--dool-ctxt
--dool-mem
--fan
--freespace
--gpfs
--gpfs-ops
--helloworld
--innodb-buffer
--innodb-io
--innodb-ops
--lustre
--md-status
--memcache-hits
--mysql5-cmds
--mysql5-conn
--mysql5-innodb
--mysql5-io
--mysql5-keys
--mysql-io
--mysql-keys
--net-packets
--nfs3
--nfs3-ops
--nfsd3
--nfsd3-ops
--nfsd4-ops
--nfsstat4
--ntp
--postfix
--power
--proc-count
--qmail
--redis: show redis stats
--rpc
--rpcd
--sendmail
--snmp-cpu
--snmp-load
--snmp-mem
--snmp-net
--snmp-net-err: show network errors using SNMP from DOOL_SNMPSERVER
--snmp-sys
--snooze
--squid
--test
--thermal
--top-bio
--top-bio-adv
--top-childwait
--top-cpu
--top-cpu-adv
--top-cputime
--top-cputime-avg
--top-int
--top-io
--top-io-adv
--top-latency
--top-latency-avg
--top-mem
--top-oom
--utmp
--vm-cpu
--vm-mem
--vm-mem-adv
--vmk-hba
--vmk-int
--vmk-nic
--vz-cpu
--vz-io
--vz-ubc
--wifi
--zfs-arc
--zfs-l2arc
--zfs-zil
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 dool 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 dool to relate disk-throughput with network-usage (eth0), total CPU-usage and system counters:
dool -dnyc -N eth0 -C total -f 5
Checking dool’s behaviour and the system impact of dool:
dool -taf --debug
Using the time plugin together with cpu, net, disk, system, load, proc and top_cpu plugins:
dool -tcndylp --top-cpu
this is identical to
dool --time --cpu --net --disk --sys --load --proc --top-cpu
Using dool to relate advanced cpu stats with interrupts per device:
dool -t --cpu-adv -yif
BUGS
Since it is practically impossible to test dool 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[1]
Note
Please see the TODO file for known bugs and future plans.
FILES
Paths that may contain external dool_*.py plugins:
~/.dool/ (path of binary)/plugins/ /usr/share/dool/ /usr/local/share/dool/
ENVIRONMENT VARIABLES
Dool will read additional command line arguments from the environment variable DOOL_OPTS. You can use this to configure Dool’s default behavior, e.g. if you have a black-on-white terminal:
export DOOL_OPTS="--bw --noupdate"
Other internal or external plugins have their own environment variables to influence their behavior, e.g.
DOOL_NTPSERVER
DOOL_MYSQL DOOL_MYSQL_HOST DOOL_MYSQL_PORT DOOL_MYSQL_SOCKET DOOL_MYSQL_USER DOOL_MYSQL_PWD
DOOL_SNMPSERVER DOOL_SNMPCOMMUNITY
DOOL_SQUID_OPTS
DOOL_TIMEFMT
SEE ALSO
Performance tools
htop(1), ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(8), nfsstat(8), perf(1), powertop(1), rtacct(8), top(1), vmstat(8), xosview(1)
Process tracing
lslk(8), lsof(8), ltrace(1), pidstat(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, ps_mem(1), slabtop(1), smem(8)
Accounting tools
acct(2), dump-acct(8), dump-utmp(8), lastcomm(1), sa(8)
Hardware debugging tools
dmidecode(8), ifinfo(1), lsdev(1), lshal(1), lshw(1), lsmod(8), lspci(8), lsusb(8), numactl(8), smartctl(8), turbostat(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
Dool is maintained by Scott Baker scott@perturb.org[2]
Homepage at https://github.com/scottchiefbaker/dool
dstat originally written by Dag Wieers dag@wieers.com[1]
Homepage at http://dag.wieers.com/home-made/dstat/
This manpage was initially written by Andrew Pollock apollock@debian.org[3] for the Debian GNU/Linux system.
AUTHOR
Scott Baker <scott@perturb.org>
NOTES
- 1.
- dag@wieers.com
- 2.
- scott@perturb.org
- 3.
- apollock@debian.org
June 2023 | 1.1.0 |