Skip to content
Browse files

Using -f/--full does not impact -c/--cpu anymore, most systems ship w…

…ith 2 or more CPUs
  • Loading branch information...
1 parent 8d3317d commit fbb818a0b1c1e53c953742f8f7577389db34ade1 @dagwieers committed
Showing with 864 additions and 282 deletions.
  1. +1 −0 ChangeLog
  2. +512 −152 docs/dstat.1
  3. +338 −118 docs/dstat.1.html
  4. +2 −1 docs/dstat.1.txt
  5. +11 −11 dstat
View
1 ChangeLog
@@ -11,6 +11,7 @@
- Fix typo in dstat_nfs3_ops and dstat_nfsd3_ops (Chris Larsson)
- Added external dstat_mem_adv plugin so show advanced memory counters (Damon Snyder)
- Allow more variables (self.vars) than nicknames (self.nick) to simplify plugins
+- Using -f/--full does not impact -c/--cpu anymore, most systems ship with 2 or more CPUs
* 0.7.2 - Real soon now - release 15/06/2010
- Added external dstat_disk_tps plugin to show transactions per second
View
664 docs/dstat.1
@@ -1,501 +1,861 @@
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "DSTAT" "1" "07/01/2010" "\ 0.7.0" "\ "
+'\" t
+.\" Title: dstat
+.\" Author: Dag Wieers <dag@wieers.com>
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\" Date: November 2009
+.\" Manual: \ \&
+.\" Source: \ \& 0.7.0
+.\" Language: English
+.\"
+.TH "DSTAT" "1" "November 2009" "\ \& 0\&.7\&.0" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
.SH "NAME"
dstat \- versatile tool for generating system resource statistics
.SH "SYNOPSIS"
-dstat [\-afv] [options..] [delay [count]]
.sp
+dstat [\-afv] [options\&.\&.] [delay [count]]
.SH "DESCRIPTION"
-Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features.
.sp
-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 is a versatile replacement for vmstat, iostat and ifstat\&. Dstat overcomes some of the limitations and adds some extra features\&.
.sp
-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 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)\&.
.sp
-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 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\&.
.sp
-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.
+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\&.
.sp
+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\&.
+.if n \{\
.sp
+.\}
+.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBNote\fR
-Users of Sleuthkit might find Sleuthkit\(cqs dstat being renamed to datastat to avoid a name conflict. See Debian bug #283709 for more information.
+.ps -1
+.br
.sp
+Users of Sleuthkit might find Sleuthkit\(cqs dstat being renamed to datastat to avoid a name conflict\&. See Debian bug #283709 for more information\&.
+.sp .5v
+.RE
.SH "OPTIONS"
-.TP
+.PP
\-c, \-\-cpu
+.RS 4
enable cpu stats (system, user, idle, wait, hardware interrupt, software interrupt)
-.TP
+.RE
+.PP
\-C 0,3,total
-include cpu0, cpu3 and total (when using \-c/\-\-cpu)
-.TP
+.RS 4
+include cpu0, cpu3 and total (when using \-c/\-\-cpu); use
+\fIall\fR
+to show all CPUs
+.RE
+.PP
\-d, \-\-disk
+.RS 4
enable disk stats (read, write)
-.TP
+.RE
+.PP
\-D total,hda
+.RS 4
include total and hda (when using \-d/\-\-disk)
-.TP
+.RE
+.PP
\-g, \-\-page
+.RS 4
enable page stats (page in, page out)
-.TP
+.RE
+.PP
\-i, \-\-int
+.RS 4
enable interrupt stats
-.TP
+.RE
+.PP
\-I 5,10
+.RS 4
include interrupt 5 and 10 (when using \-i/\-\-int)
-.TP
+.RE
+.PP
\-l, \-\-load
+.RS 4
enable load average stats (1 min, 5 mins, 15mins)
-.TP
+.RE
+.PP
\-m, \-\-mem
+.RS 4
enable memory stats (used, buffers, cache, free)
-.TP
+.RE
+.PP
\-n, \-\-net
+.RS 4
enable network stats (receive, send)
-.TP
+.RE
+.PP
\-N eth1,total
+.RS 4
include eth1 and total (when using \-n/\-\-net)
-.TP
+.RE
+.PP
\-p, \-\-proc
+.RS 4
enable process stats (runnable, uninterruptible, new)
-.TP
+.RE
+.PP
\-r, \-\-io
+.RS 4
enable I/O request stats (read, write requests)
-.TP
+.RE
+.PP
\-s, \-\-swap
+.RS 4
enable swap stats (used, free)
-.TP
+.RE
+.PP
\-S swap1,total
+.RS 4
include swap1 and total (when using \-s/\-\-swap)
-.TP
+.RE
+.PP
\-t, \-\-time
+.RS 4
enable time/date output
-.TP
+.RE
+.PP
\-T, \-\-epoch
+.RS 4
enable time counter (seconds since epoch)
-.TP
+.RE
+.PP
\-y, \-\-sys
+.RS 4
enable system stats (interrupts, context switches)
-.TP
+.RE
+.PP
\-\-aio
+.RS 4
enable aio stats (asynchronous I/O)
-.TP
+.RE
+.PP
\-\-fs
+.RS 4
enable filesystem stats (open files, inodes)
-.TP
+.RE
+.PP
\-\-ipc
+.RS 4
enable ipc stats (message queue, semaphores, shared memory)
-.TP
+.RE
+.PP
\-\-lock
+.RS 4
enable file lock stats (posix, flock, read, write)
-.TP
+.RE
+.PP
\-\-raw
+.RS 4
enable raw stats (raw sockets)
-.TP
+.RE
+.PP
\-\-socket
+.RS 4
enable socket stats (total, tcp, udp, raw, ip\-fragments)
-.TP
+.RE
+.PP
\-\-tcp
+.RS 4
enable tcp stats (listen, established, syn, time_wait, close)
-.TP
+.RE
+.PP
\-\-udp
+.RS 4
enable udp stats (listen, active)
-.TP
+.RE
+.PP
\-\-unix
+.RS 4
enable unix stats (datagram, stream, listen, active)
-.TP
+.RE
+.PP
\-\-vm
+.RS 4
enable vm stats (hard pagefaults, soft pagefaults, allocated, free)
-.TP
+.RE
+.PP
+\-\-vm\-adv
+.RS 4
+enable advance vm stats (steal, scanK, scanD, pgoru, astll)
+.RE
+.PP
+\-\-zones
+.RS 4
+enable zoneinfo stats (d32F, d32H, normF, normH)
+.RE
+.PP
\-\-plugin\-name
+.RS 4
enable (external) plugins by plugin name, see
\fBPLUGINS\fR
for options
-.TP
+.RE
+.PP
Possible internal stats are
+.RS 4
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
-.TP
+.RE
+.PP
\-\-list
+.RS 4
list the internal and external plugin names
-.TP
+.RE
+.PP
\-a, \-\-all
+.RS 4
equals \-cdngy (default)
-.TP
+.RE
+.PP
\-f, \-\-full
+.RS 4
expand \-C, \-D, \-I, \-N and \-S discovery lists
-.TP
+.RE
+.PP
\-v, \-\-vmstat
+.RS 4
equals \-pmgdsc \-D total
-.TP
+.RE
+.PP
\-\-float
+.RS 4
force float values on screen (mutual exclusive with
\fB\-\-integer\fR)
-.TP
+.RE
+.PP
\-\-integer
+.RS 4
force integer values on screen (mutual exclusive with
\fB\-\-float\fR)
-.TP
+.RE
+.PP
\-\-bw, \-\-blackonwhite
+.RS 4
change colors for white background terminal
-.TP
+.RE
+.PP
\-\-nocolor
+.RS 4
disable colors (implies
\fB\-\-noupdate\fR)
-.TP
+.RE
+.PP
\-\-noheaders
+.RS 4
disable repetitive headers
-.TP
+.RE
+.PP
\-\-noupdate
+.RS 4
disable intermediate updates when delay > 1
-.TP
+.RE
+.PP
\-\-output file
+.RS 4
write CSV output to file
-.TP
+.RE
+.PP
\-\-profile
+.RS 4
show profiling statistics when exiting dstat
+.RE
.SH "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:
.sp
-.TP
+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:
+.PP
\-\-battery
+.RS 4
battery in percentage (needs ACPI)
-.TP
+.RE
+.PP
\-\-battery\-remain
+.RS 4
battery remaining in hours, minutes (needs ACPI)
-.TP
+.RE
+.PP
\-\-cpufreq
+.RS 4
CPU frequency in percentage (needs ACPI)
-.TP
+.RE
+.PP
\-\-dbus
+.RS 4
number of dbus connections (needs python\-dbus)
-.TP
+.RE
+.PP
\-\-disk\-tps
+.RS 4
per disk transactions per second (tps) stats
-.TP
+.RE
+.PP
\-\-disk\-util
+.RS 4
per disk utilization in percentage
-.TP
+.RE
+.PP
\-\-dstat
+.RS 4
show dstat cputime consumption and latency
-.TP
+.RE
+.PP
\-\-dstat\-cpu
+.RS 4
show dstat advanced cpu usage
-.TP
+.RE
+.PP
\-\-dstat\-ctxt
+.RS 4
show dstat context switches
-.TP
+.RE
+.PP
\-\-dstat\-mem
+.RS 4
show dstat advanced memory usage
-.TP
+.RE
+.PP
\-\-fan
+.RS 4
fan speed (needs ACPI)
-.TP
+.RE
+.PP
\-\-freespace
+.RS 4
per filesystem disk usage
-.TP
+.RE
+.PP
\-\-gpfs
+.RS 4
GPFS read/write I/O (needs mmpmon)
-.TP
+.RE
+.PP
\-\-gpfs\-ops
+.RS 4
GPFS filesystem operations (needs mmpmon)
-.TP
+.RE
+.PP
\-\-helloworld
+.RS 4
Hello world example dstat plugin
-.TP
+.RE
+.PP
\-\-innodb\-buffer
+.RS 4
show innodb buffer stats
-.TP
+.RE
+.PP
\-\-innodb\-io
+.RS 4
show innodb I/O stats
-.TP
+.RE
+.PP
\-\-innodb\-ops
+.RS 4
show innodb operations counters
-.TP
+.RE
+.PP
\-\-lustre
+.RS 4
show lustre I/O throughput
-.TP
+.RE
+.PP
\-\-md\-status
+.RS 4
show software raid (md) progress and speed
-.TP
+.RE
+.PP
\-\-memcache\-hits
+.RS 4
show the number of hits and misses from memcache
-.TP
+.RE
+.PP
\-\-mysql5\-cmds
+.RS 4
show the MySQL5 command stats
-.TP
+.RE
+.PP
\-\-mysql5\-conn
+.RS 4
show the MySQL5 connection stats
-.TP
+.RE
+.PP
\-\-mysql5\-io
+.RS 4
show the MySQL5 I/O stats
-.TP
+.RE
+.PP
\-\-mysql5\-keys
+.RS 4
show the MySQL5 keys stats
-.TP
+.RE
+.PP
\-\-mysql\-io
+.RS 4
show the MySQL I/O stats
-.TP
+.RE
+.PP
\-\-mysql\-keys
+.RS 4
show the MySQL keys stats
-.TP
+.RE
+.PP
\-\-net\-packets
+.RS 4
show the number of packets received and transmitted
-.TP
+.RE
+.PP
\-\-nfs3
+.RS 4
show NFS v3 client operations
-.TP
+.RE
+.PP
\-\-nfs3\-ops
+.RS 4
show extended NFS v3 client operations
-.TP
+.RE
+.PP
\-\-nfsd3
+.RS 4
show NFS v3 server operations
-.TP
+.RE
+.PP
\-\-nfsd3\-ops
+.RS 4
show extended NFS v3 server operations
-.TP
+.RE
+.PP
\-\-ntp
+.RS 4
show NTP time from an NTP server
-.TP
+.RE
+.PP
\-\-postfix
+.RS 4
show postfix queue sizes (needs postfix)
-.TP
+.RE
+.PP
\-\-power
+.RS 4
show power usage
-.TP
+.RE
+.PP
\-\-proc\-count
+.RS 4
show total number of processes
-.TP
+.RE
+.PP
\-\-qmail
+.RS 4
show qmail queue sizes (needs qmail)
-.TP
+.RE
+.PP
\-\-rpc
+.RS 4
show RPC client calls stats
-.TP
+.RE
+.PP
\-\-rpcd
+.RS 4
show RPC server calls stats
-.TP
+.RE
+.PP
\-\-sendmail
+.RS 4
show sendmail queue size (needs sendmail)
-.TP
+.RE
+.PP
\-\-snooze
+.RS 4
show number of ticks per second
-.TP
+.RE
+.PP
\-\-squid
+.RS 4
show squid usage statistics
-.TP
+.RE
+.PP
\-\-test
+.RS 4
show test plugin output
-.TP
+.RE
+.PP
\-\-thermal
+.RS 4
system temperature sensors
-.TP
+.RE
+.PP
\-\-top\-bio
+.RS 4
show most expensive block I/O process
-.TP
+.RE
+.PP
\-\-top\-bio\-adv
-show most expensive block I/O process (incl. pid and other stats)
-.TP
+.RS 4
+show most expensive block I/O process (incl\&. pid and other stats)
+.RE
+.PP
\-\-top\-childwait
+.RS 4
show process waiting for child the most
-.TP
+.RE
+.PP
\-\-top\-cpu
+.RS 4
show most expensive CPU process
-.TP
+.RE
+.PP
\-\-top\-cpu\-adv
-show most expensive CPU process (incl. pid and other stats)
-.TP
+.RS 4
+show most expensive CPU process (incl\&. pid and other stats)
+.RE
+.PP
\-\-top\-cputime
+.RS 4
show process using the most CPU time (in ms)
-.TP
+.RE
+.PP
\-\-top\-cputime\-avg
+.RS 4
show process with the highest average timeslice (in ms)
-.TP
+.RE
+.PP
\-\-top\-int
+.RS 4
show most frequent interrupt
-.TP
+.RE
+.PP
\-\-top\-io
+.RS 4
show most expensive I/O process
-.TP
+.RE
+.PP
\-\-top\-io\-adv
-show most expensive I/O process (incl. pid and other stats)
-.TP
+.RS 4
+show most expensive I/O process (incl\&. pid and other stats)
+.RE
+.PP
\-\-top\-latency
+.RS 4
show process with highest total latency (in ms)
-.TP
+.RE
+.PP
\-\-top\-latency\-avg
+.RS 4
show process with the highest average latency (in ms)
-.TP
+.RE
+.PP
\-\-top\-mem
+.RS 4
show process using the most memory
-.TP
+.RE
+.PP
\-\-top\-oom
+.RS 4
show process that will be killed by OOM the first
-.TP
+.RE
+.PP
\-\-utmp
+.RS 4
show number of utmp connections (needs python\-utmp)
-.TP
+.RE
+.PP
\-\-vmk\-hba
+.RS 4
show VMware ESX kernel vmhba stats
-.TP
+.RE
+.PP
\-\-vmk\-int
+.RS 4
show VMware ESX kernel interrupt stats
-.TP
+.RE
+.PP
\-\-vmk\-nic
+.RS 4
show VMware ESX kernel port stats
-.TP
+.RE
+.PP
\-\-vm\-memctl
+.RS 4
show ballooning status inside VMware guests
-.TP
+.RE
+.PP
\-\-vz\-cpu
+.RS 4
show CPU usage per OpenVZ guest
-.TP
+.RE
+.PP
\-\-vz\-io
+.RS 4
show I/O usage per OpenVZ guest
-.TP
+.RE
+.PP
\-\-vz\-ubc
+.RS 4
show OpenVZ user beancounters
-.TP
+.RE
+.PP
\-\-wifi
+.RS 4
wireless link quality and signal to noise ratio
+.RE
.SH "ARGUMENTS"
+.sp
\fBdelay\fR is the delay in seconds between each update
.sp
\fBcount\fR is the number of updates to display before exiting
.sp
The default delay is 1 and count is unspecified (unlimited)
-.sp
.SH "INTERMEDIATE UPDATES"
-When invoking dstat with a \fBdelay\fR greater than 1 and without the \fB\-\-noupdate\fR 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.
.sp
-So in case you specified a delay of 10, \fBthe 9 intermediate updates are NOT snapshots\fR, 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.
+When invoking dstat with a \fBdelay\fR greater than 1 and without the \fB\-\-noupdate\fR 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\&.
.sp
+So in case you specified a delay of 10, \fBthe 9 intermediate updates are NOT snapshots\fR, 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\&.
.SH "EXAMPLES"
-Using dstat to relate disk\-throughput with network\-usage (eth0), total CPU\-usage and system counters:
.sp
+Using dstat to relate disk\-throughput with network\-usage (eth0), total CPU\-usage and system counters:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dstat \-dnyc \-N eth0 \-C total \-f 5
.fi
-Checking dstat\(cqs behaviour and the system impact of dstat:
+.if n \{\
+.RE
+.\}
.sp
+Checking dstat\(cqs behaviour and the system impact of dstat:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dstat \-taf \-\-debug
.fi
-Using the time plugin together with cpu, net, disk, system, load, proc and top_cpu plugins:
+.if n \{\
+.RE
+.\}
.sp
+Using the time plugin together with cpu, net, disk, system, load, proc and top_cpu plugins:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dstat \-tcndylp \-\-top\-cpu
.fi
-this is identical to
+.if n \{\
+.RE
+.\}
.sp
+this is identical to
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dstat \-\-time \-\-cpu \-\-net \-\-disk \-\-sys \-\-load \-\-proc \-\-top\-cpu
.fi
-Using dstat to relate cpu stats with interrupts per device:
+.if n \{\
+.RE
+.\}
.sp
+Using dstat to relate cpu stats with interrupts per device:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dstat \-tcyif
.fi
+.if n \{\
+.RE
+.\}
.SH "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]\&\fIdag@wieers.com\fR
.sp
+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: \m[blue]\fBdag@wieers\&.com\fR\m[]\&\s-2\u[1]\d\s+2
+.if n \{\
.sp
+.\}
+.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
+.ps +1
\fBNote\fR
-Please see the TODO file for known bugs and future plans.
+.ps -1
+.br
.sp
+Please see the TODO file for known bugs and future plans\&.
+.sp .5v
+.RE
.SH "FILES"
-Paths that may contain external dstat_*.py plugins:
.sp
+Paths that may contain external dstat_*\&.py plugins:
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-~/.dstat/
+~/\&.dstat/
(path of binary)/plugins/
/usr/share/dstat/
/usr/local/share/dstat/
.fi
+.if n \{\
+.RE
+.\}
.SH "SEE ALSO"
.SS "Performance tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat, powertop(1), vmstat(1), xosview(1)
+ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat(8), powertop(1), vmstat(1), xosview(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Debugging tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
htop(1), lslk(1), lsof(8), top(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Process tracing"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-ltrace(1), pmap(1), ps(1), pstack(1), strace(1)
+ltrace(1), pidstat(1), pmap(1), ps(1), pstack(1), strace(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Binary debugging"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
ldd(1), file(1), nm(1), objdump(1), readelf(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Memory usage tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
free(1), memusage, memusagestat, slabtop(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Accounting tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
-dump\-acct, dump\-utmp, sa(8)
+acct(2), dump\-acct(8), dump\-utmp(8), lastcomm(1), sa(8)
.fi
+.if n \{\
+.RE
+.\}
.SS "Hardware debugging tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
dmidecode, ifinfo(1), lsdev(1), lshal(1), lshw(1), lsmod(8), lspci(8), lsusb(8), smartctl(8), x86info(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Application debugging"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
mailstats(8), qshape(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Xorg related tools"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
xdpyinfo(1), xrestop(1)
.fi
+.if n \{\
+.RE
+.\}
.SS "Other useful info"
.sp
+.if n \{\
+.RS 4
+.\}
.nf
collectl(1), proc(5), procinfo(8)
.fi
+.if n \{\
+.RE
+.\}
.SH "AUTHOR"
-Written by Dag Wieers [1]\&\fIdag@wieers.com\fR
.sp
-Homepage at [2]\&\fIhttp://dag.wieers.com/home\-made/dstat/\fR
+Written by Dag Wieers \m[blue]\fBdag@wieers\&.com\fR\m[]\&\s-2\u[1]\d\s+2
.sp
-This manpage was initially written by Andrew Pollock [3]\&\fIapollock@debian.org\fR for the Debian GNU/Linux system.
+Homepage at \m[blue]\fBhttp://dag\&.wieers\&.com/home\-made/dstat/\fR\m[]
.sp
-.SH "REFERENCES"
-.TP 3
-1.\ dag@wieers.com
+This manpage was initially written by Andrew Pollock \m[blue]\fBapollock@debian\&.org\fR\m[]\&\s-2\u[2]\d\s+2 for the Debian GNU/Linux system\&.
+.SH "AUTHOR"
+.PP
+\fBDag Wieers\fR <\&dag@wieers\&.com\&>
+.RS 4
+Author.
+.RE
+.SH "NOTES"
+.IP " 1." 4
+dag@wieers.com
+.RS 4
\%mailto:dag@wieers.com
-.TP 3
-2.\ http://dag.wieers.com/home\-made/dstat/
-\%http://dag.wieers.com/home\-made/dstat/
-.TP 3
-3.\ apollock@debian.org
+.RE
+.IP " 2." 4
+apollock@debian.org
+.RS 4
\%mailto:apollock@debian.org
+.RE
View
456 docs/dstat.1.html
@@ -2,15 +2,25 @@
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.5.3" />
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.6.5" />
<title>dstat(1)</title>
<style type="text/css">
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
}
body {
@@ -35,13 +45,8 @@
color: #083194;
}
-tt {
- color: navy;
-}
-
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
- font-family: sans-serif;
margin-top: 1.2em;
margin-bottom: 0.5em;
line-height: 1.3;
@@ -59,9 +64,11 @@
h3 + * {
clear: left;
}
+h5 {
+ font-size: 1.0em;
+}
div.sectionbody {
- font-family: serif;
margin-left: 0;
}
@@ -77,45 +84,44 @@
ul, ol, li > p {
margin-top: 0;
}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
pre {
padding: 0;
margin: 0;
}
-span#author {
+#author {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
}
-span#email {
+#email {
}
-span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
+#revnumber, #revdate, #revremark {
}
-div#footer {
- font-family: sans-serif;
+#footer {
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
margin-top: 4.0em;
}
-div#footer-text {
+#footer-text {
float: left;
padding-bottom: 0.5em;
}
-div#footer-badges {
+#footer-badges {
float: right;
padding-bottom: 0.5em;
}
-div#preamble {
+#preamble {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
margin-top: 1.0em;
@@ -135,7 +141,6 @@
/* Block element titles. */
div.title, caption.title {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
@@ -157,13 +162,15 @@
div.sidebarblock > div.content {
background: #ffffee;
- border: 1px solid silver;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
padding: 0.5em;
}
div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
padding: 0.5em;
}
@@ -171,7 +178,7 @@
padding-left: 1.0em;
margin-left: 1.0em;
margin-right: 10%;
- border-left: 5px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
color: #777777;
}
@@ -182,6 +189,7 @@
div.verseblock > pre.content {
font-family: inherit;
+ font-size: inherit;
}
div.verseblock > div.attribution {
padding-top: 0.75em;
@@ -254,35 +262,12 @@
margin-bottom: 0.1em;
}
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-family: sans-serif;
- font-weight: bold;
-}
tfoot {
font-weight: bold;
}
td > div.verse {
white-space: pre;
}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
div.hdlist {
margin-top: 0.8em;
@@ -339,18 +324,25 @@
min-width: 100px;
}
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
@media print {
- div#footer-badges { display: none; }
+ #footer-badges { display: none; }
}
-div#toc {
+#toc {
margin-bottom: 2.5em;
}
-div#toctitle {
+#toctitle {
color: #527bbd;
- font-family: sans-serif;
font-size: 1.1em;
font-weight: bold;
margin-top: 1.0em;
@@ -373,69 +365,176 @@
margin-left: 6em;
font-size: 0.9em;
}
-/* Overrides for manpage documents */
-h1 {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- border-top: 2px solid silver;
- border-bottom: 2px solid silver;
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+tt {
+ font-family: monospace;
+ font-size: inherit;
+ color: navy;
}
-h2 {
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
border-style: none;
}
-div.sectionbody {
- margin-left: 5%;
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
}
-
-@media print {
- div#toc { display: none; }
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
}
-/* Workarounds for IE6's broken and incomplete CSS2. */
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
+/*
+ * html5 specific
+ *
+ * */
+
+.monospaced {
+ font-family: monospace;
+ font-size: inherit;
+ color: navy;
}
-div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
}
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
}
-div.quoteblock-attribution {
- padding-top: 0.5em;
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
text-align: right;
}
-pre.verseblock-content {
- font-family: inherit;
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+/* Overrides for manpage documents */
+h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+h2 {
+ border-style: none;
+}
+div.sectionbody {
+ margin-left: 3em;
}
-div.exampleblock-content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
+@media print {
+ div#toc { display: none; }
}
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
</style>
<script type="text/javascript">
/*<![CDATA[*/
-window.onload = function(){asciidoc.footnotes();}
var asciidoc = { // Namespace.
/////////////////////////////////////////////////////////////////////
@@ -497,6 +596,25 @@
}
var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName == 'DIV'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
var entries = tocEntries(document.getElementById("content"), toclevels);
for (var i = 0; i < entries.length; ++i) {
var entry = entries[i];
@@ -524,24 +642,44 @@
*/
footnotes: function () {
- var cont = document.getElementById("content");
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName == 'DIV' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
var spans = cont.getElementsByTagName("span");
var refs = {};
var n = 0;
for (i=0; i<spans.length; i++) {
if (spans[i].className == "footnote") {
n++;
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
noteholder.innerHTML +=
"<div class='footnote' id='_footnote_" + n + "'>" +
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
n + "</a>. " + note + "</div>";
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
var id =spans[i].getAttribute("id");
if (id != null) refs["#"+id] = n;
}
@@ -561,13 +699,36 @@
}
}
}
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
}
}
+asciidoc.install();
/*]]>*/
</script>
</head>
-<body>
+<body class="manpage">
<div id="header">
<h1>
dstat(1) Manual Page
@@ -580,10 +741,13 @@
</div>
</div>
<div id="content">
+<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="paragraph"><p>dstat [-afv] [options..] [delay [count]]</p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat
@@ -612,6 +776,8 @@ <h2 id="_description">DESCRIPTION</h2>
</tr></table>
</div>
</div>
+</div>
+<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist"><dl>
@@ -629,7 +795,8 @@ <h2 id="_options">OPTIONS</h2>
</dt>
<dd>
<p>
- include cpu0, cpu3 and total (when using -c/--cpu)
+ include cpu0, cpu3 and total (when using -c/--cpu); use <em>all</em> to show all
+ CPUs
</p>
</dd>
<dt class="hdlist1">
@@ -841,6 +1008,22 @@ <h2 id="_options">OPTIONS</h2>
</p>
</dd>
<dt class="hdlist1">
+--vm-adv
+</dt>
+<dd>
+<p>
+ enable advance vm stats (steal, scanK, scanD, pgoru, astll)
+</p>
+</dd>
+<dt class="hdlist1">
+--zones
+</dt>
+<dd>
+<p>
+ enable zoneinfo stats (d32F, d32H, normF, normH)
+</p>
+</dd>
+<dt class="hdlist1">
--plugin-name
</dt>
<dd>
@@ -956,6 +1139,8 @@ <h2 id="_options">OPTIONS</h2>
</dd>
</dl></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_plugins">PLUGINS</h2>
<div class="sectionbody">
<div class="paragraph"><p>While anyone can create their own dstat plugins (and contribute them) dstat
@@ -1500,12 +1685,16 @@ <h2 id="_plugins">PLUGINS</h2>
</dd>
</dl></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_arguments">ARGUMENTS</h2>
<div class="sectionbody">
<div class="paragraph"><p><strong>delay</strong> is the delay in seconds between each update</p></div>
<div class="paragraph"><p><strong>count</strong> is the number of updates to display before exiting</p></div>
<div class="paragraph"><p>The default delay is 1 and count is unspecified (unlimited)</p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_intermediate_updates">INTERMEDIATE UPDATES</h2>
<div class="sectionbody">
<div class="paragraph"><p>When invoking dstat with a <strong>delay</strong> greater than 1 and without the
@@ -1517,6 +1706,8 @@ <h2 id="_intermediate_updates">INTERMEDIATE UPDATES</h2>
the last final update. The end result is that you get a 10 second
average on a new line, just like with vmstat.</p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="paragraph"><p>Using dstat to relate disk-throughput with network-usage (eth0), total CPU-usage and system counters:</p></div>
@@ -1546,6 +1737,8 @@ <h2 id="_examples">EXAMPLES</h2>
<pre><tt>dstat -tcyif</tt></pre>
</div></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_bugs">BUGS</h2>
<div class="sectionbody">
<div class="paragraph"><p>Since it is practically impossible to test dstat on every possible
@@ -1562,6 +1755,8 @@ <h2 id="_bugs">BUGS</h2>
</tr></table>
</div>
</div>
+</div>
+<div class="sect1">
<h2 id="_files">FILES</h2>
<div class="sectionbody">
<div class="paragraph"><p>Paths that may contain external dstat_*.py plugins:</p></div>
@@ -1573,59 +1768,83 @@ <h2 id="_files">FILES</h2>
/usr/local/share/dstat/</tt></pre>
</div></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
-<h3 id="_performance_tools">Performance tools</h3><div style="clear:left"></div>
+<div class="sect2">
+<h3 id="_performance_tools">Performance tools</h3>
<div class="literalblock">
<div class="content">
-<pre><tt>ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat, powertop(1), vmstat(1), xosview(1)</tt></pre>
+<pre><tt>ifstat(1), iftop(8), iostat(1), mpstat(1), netstat(1), nfsstat(1), nstat(8), powertop(1), vmstat(1), xosview(1)</tt></pre>
</div></div>
-<h3 id="_debugging_tools">Debugging tools</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_debugging_tools">Debugging tools</h3>
<div class="literalblock">
<div class="content">
<pre><tt>htop(1), lslk(1), lsof(8), top(1)</tt></pre>
</div></div>
-<h3 id="_process_tracing">Process tracing</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_process_tracing">Process tracing</h3>
<div class="literalblock">
<div class="content">
-<pre><tt>ltrace(1), pmap(1), ps(1), pstack(1), strace(1)</tt></pre>
+<pre><tt>ltrace(1), pidstat(1), pmap(1), ps(1), pstack(1), strace(1)</tt></pre>
</div></div>
-<h3 id="_binary_debugging">Binary debugging</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_binary_debugging">Binary debugging</h3>
<div class="literalblock">
<div class="content">
<pre><tt>ldd(1), file(1), nm(1), objdump(1), readelf(1)</tt></pre>
</div></div>
-<h3 id="_memory_usage_tools">Memory usage tools</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_memory_usage_tools">Memory usage tools</h3>
<div class="literalblock">
<div class="content">
<pre><tt>free(1), memusage, memusagestat, slabtop(1)</tt></pre>
</div></div>
-<h3 id="_accounting_tools">Accounting tools</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_accounting_tools">Accounting tools</h3>
<div class="literalblock">
<div class="content">
-<pre><tt>dump-acct, dump-utmp, sa(8)</tt></pre>
+<pre><tt>acct(2), dump-acct(8), dump-utmp(8), lastcomm(1), sa(8)</tt></pre>
</div></div>
-<h3 id="_hardware_debugging_tools">Hardware debugging tools</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_hardware_debugging_tools">Hardware debugging tools</h3>
<div class="literalblock">
<div class="content">
<pre><tt>dmidecode, ifinfo(1), lsdev(1), lshal(1), lshw(1), lsmod(8), lspci(8), lsusb(8), smartctl(8), x86info(1)</tt></pre>
</div></div>
-<h3 id="_application_debugging">Application debugging</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_application_debugging">Application debugging</h3>
<div class="literalblock">
<div class="content">
<pre><tt>mailstats(8), qshape(1)</tt></pre>
</div></div>
-<h3 id="_xorg_related_tools">Xorg related tools</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_xorg_related_tools">Xorg related tools</h3>
<div class="literalblock">
<div class="content">
<pre><tt>xdpyinfo(1), xrestop(1)</tt></pre>
</div></div>
-<h3 id="_other_useful_info">Other useful info</h3><div style="clear:left"></div>
+</div>
+<div class="sect2">
+<h3 id="_other_useful_info">Other useful info</h3>
<div class="literalblock">
<div class="content">
<pre><tt>collectl(1), proc(5), procinfo(8)</tt></pre>
</div></div>
</div>
+</div>
+</div>
+<div class="sect1">
<h2 id="_author">AUTHOR</h2>
<div class="sectionbody">
<div class="paragraph"><p>Written by Dag Wieers <a href="mailto:dag@wieers.com">dag@wieers.com</a></p></div>
@@ -1634,11 +1853,12 @@ <h2 id="_author">AUTHOR</h2>
<a href="mailto:apollock@debian.org">apollock@debian.org</a> for the Debian GNU/Linux system.</p></div>
</div>
</div>
+</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Version 0.7.0<br />
-Last updated 2010-07-01 14:34:59 CEST
+Last updated 2011-07-18 23:35:41 CEST
</div>
</div>
</body>
View
3 docs/dstat.1.txt
@@ -44,7 +44,8 @@ information.
interrupt)
-C 0,3,total::
- include cpu0, cpu3 and total (when using -c/--cpu)
+ include cpu0, cpu3 and total (when using -c/--cpu); use 'all' to show all
+ CPUs
-d, --disk::
enable disk stats (read, write)
View
22 dstat
@@ -590,17 +590,17 @@ class dstat_cpu(dstat):
def vars(self):
ret = []
- if op.cpulist:
- varlist = op.cpulist
- elif not op.full:
- varlist = ('total',)
- else:
+ if op.cpulist and 'all' in op.cpulist:
varlist = []
cpu = 0
while cpu < cpunr:
varlist.append(str(cpu))
cpu = cpu + 1
# if len(varlist) > 2: varlist = varlist[0:2]
+ elif op.cpulist:
+ varlist = op.cpulist
+ else:
+ varlist = ('total',)
for name in varlist:
if name in self.discover + ['total']:
ret.append(name)
@@ -651,17 +651,17 @@ class dstat_cpu24(dstat):
def vars(self):
ret = []
- if op.cpulist:
- varlist = op.cpulist
- elif not op.full:
- varlist = ('total',)
- else:
+ if op.cpulist and 'all' in op.cpulist:
varlist = []
cpu = 0
while cpu < cpunr:
varlist.append(str(cpu))
cpu = cpu + 1
# if len(varlist) > 2: varlist = varlist[0:2]
+ elif op.cpulist:
+ varlist = op.cpulist
+ else:
+ varlist = ('total',)
for name in varlist:
if name in self.discover + ['total']:
ret.append(name)
@@ -2338,7 +2338,7 @@ def main():
shell = os.getenv('XTERM_SHELL')
term = os.getenv('TERM')
if shell == '/bin/bash' and term and re.compile('(screen*|xterm*)').match(term):
- sys.stdout.write('\033]0;(%s@%s) %s %s\007' % (user, hostname, os.path.basename(sys.argv[0]), ' '.join(op.args)))
+ sys.stdout.write('\033]0;(%s@%s) %s %s\007' % (user, hostname.split('.')[0], os.path.basename(sys.argv[0]), ' '.join(op.args)))
### Check background color (rxvt)
### COLORFGBG="15;default;0"

0 comments on commit fbb818a

Please sign in to comment.
Something went wrong with that request. Please try again.