man page: Update copyright date.
[virt-top.git] / virt-top / virt-top.pod
old mode 100644 (file)
new mode 100755 (executable)
index 3ec0dac..2b0eee1
@@ -43,8 +43,21 @@ Batch mode.  In this mode keypresses are ignored.
 
 =item B<-c uri> or B<--connect uri>
 
-Connect to URI given.  The default is to connect to the Xen
-hypervisor.
+Connect to the libvirt URI given.
+
+To connect to QEMU/KVM you would normally do I<-c qemu:///system>
+
+To connect to Xen on the same host, do I<-c xen:///>
+
+To connect to libvirtd on a remote machine you would normally do
+I<-c qemu://host/system>
+
+If this option is not given then virt-top connects by default
+to whatever is the default hypervisor for libvirt, although
+this can be overridden by setting environment variables.
+
+See the libvirt documentation at L<http://libvirt.org/uri.html>
+for further information.
 
 =item B<-d delay>
 
@@ -61,7 +74,7 @@ is to run continuously.
 
 Set the sort order to one of:
 B<cpu> (sort by %CPU used),
-B<mem> (sort by memory used),
+B<mem> (sort by total memory),
 B<time> (sort by total time),
 B<id> (sort by domain ID),
 B<name> (sort by domain name),
@@ -99,6 +112,33 @@ Not every version of virt-top supports CSV output - it depends how the
 program was compiled (see I<README> file in the source distribution
 for details).
 
+To save space you can compress your CSV files (if your shell supports
+this feature, eg. I<bash>):
+
+ virt-top --csv >(gzip -9 > output.csv.gz)
+
+You can use a similar trick to split the CSV file up.  In this example
+the CSV file is split every 1000 lines into files called
+I<output.csv.00>, I<output.csv.01> etc.
+
+ virt-top --csv >(split -d -l 1000 - output.csv.)
+
+=item B<--no-csv-cpu>
+
+Disable domain CPU stats in CSV output.
+
+=item B<--no-csv-mem>
+
+Disable domain memory stats in CSV output.
+
+=item B<--no-csv-block>
+
+Disable domain block device stats in CSV output.
+
+=item B<--no-csv-net>
+
+Disable domain network interface stats in CSV output.
+
 =item B<--debug filename>
 
 Send debug and error messages to I<filename>.
@@ -117,10 +157,67 @@ I<$HOME/.virt-toprc>.  See also INIT FILE below.
 
 Do not read any init file.
 
+=item B<--script>
+
+Script mode.  There will be no user interface.  This is most useful
+when used together with the I<--csv> and I<-n> options.
+
+=item B<--stream>
+
+Stream mode.  All output is sent to stdout.  This can be used from
+shell scripts etc.  There is no user interface.
+
+=item B<--block-in-bytes>
+
+Show I/O statistics in Bytes. Default is shown in the number of Requests.
+
+=item B<--end-time time>
+
+The program will exit at the I<time> given.
+
+The time may be given in one of the following formats:
+
+=over 4
+
+=item I<YYYY-MM-DD HH:MM:SS>
+
+End time is the date and time given.
+
+=item I<HH:MM:SS>
+
+End time is the time given, today.
+
+=item I<+HH:MM:SS>
+
+End time is HH hours, MM minutes, SS seconds in the future (counted
+from the moment that program starts).
+
+=item I<+secs>
+
+End time is I<secs> seconds in the future.
+
+=back
+
+For example to run the program for 3 minutes you could do:
+
+ virt-top --end-time +00:03:00
+
+or:
+
+ virt-top --end-time +180
+
+Not every version of virt-top supports this option - it depends how the
+program was compiled (see I<README> file in the source distribution
+for details).
+
 =item B<--help>
 
 Display usage summary.
 
+=item B<--version>
+
+Display version number and exit.
+
 =back
 
 =head1 KEYS
@@ -147,6 +244,10 @@ Displays help.
 
 Change the delay between screen updates.
 
+=item I<B>
+
+Toggle Block I/O statistics so they are shown in either bytes or requests.
+
 =item I<0> (number 0)
 
 Show the normal list of domains display.
@@ -173,7 +274,8 @@ Sort by %CPU.
 
 =item I<M>
 
-Sort by memory.
+Sort by total memory.  Note that this shows the total memory
+allocated to the guest, not the memory being used.
 
 =item I<T>
 
@@ -249,6 +351,22 @@ Sets the default filename to use for debug and error messages.
 
 Enables CSV output to the named file.
 
+=item B<csv-cpu> I<true|false>
+
+Enable or disable domain CPU stats in CSV output.
+
+=item B<csv-mem> I<true|false>
+
+Enable or disable domain memory stats in CSV output.
+
+=item B<csv-block> I<true|false>
+
+Enable or disable domain block device stats in CSV output.
+
+=item B<csv-net> I<true|false>
+
+Enable or disable domain network interface stats in CSV output.
+
 =item B<batch> I<true|false>
 
 Sets batch mode.
@@ -257,6 +375,23 @@ Sets batch mode.
 
 Sets secure mode.
 
+=item B<script> I<true|false>
+
+Sets script mode.
+
+=item B<stream> I<true|false>
+
+Sets stream mode.
+
+=item B<block-in-bytes> I<true|false>
+
+Show block device statistics in bytes.
+
+=item B<end-time> I<time>
+
+Set the time at which the program exits.  See above for the
+time formats supported.
+
 =item B<overwrite-init-file> I<false>
 
 If set to I<false> then the I<W> key will not overwrite the
@@ -264,25 +399,77 @@ init file.
 
 =back
 
-
 Note that in the current implementation, options specified in
 the init file override options specified on the command line.
 This is a bug and this behaviour may change in the future.
 
+=head1 NOTES
+
+=head2 Block I/O statistics
+
+This I/O value is the amount of I/O since the previous iteration
+of virt-top. To calculate speed of I/O, you should divide
+the number by delay secs.
+
+=head2 NETWORK RX BYTES AND PACKETS
+
+Libvirt/virt-top has no way to know that a packet transmitted to a
+guest was received (eg. if the guest is not listening).  In the
+network RX stats, virt-top reports the packets transmitted to the
+guest, on the basis that the guest might receive them.
+
+In particular this includes broadcast packets.  Because of the way
+that Linux bridges work, if the guest is connected to a bridge, it
+will probably see a steady "background noise" of RX packets even when
+the network interface is idle or down.  These are caused by STP
+packets generated by the bridge.
+
+=head2 DEBUGGING LIBVIRT ISSUES
+
+virt-top tries to turn libvirt errors into informative messages.
+However if libvirt initialization fails then this is not possible.
+Instead you will get an obscure error like:
+
+ libvir: error : Unknown failure
+ Fatal error: exception Libvirt.Virterror(...)
+
+To see the cause of libvirt errors in more detail, enable libvirt
+debugging by setting this environment variable:
+
+ export LIBVIRT_DEBUG=1
+
 =head1 SEE ALSO
 
 L<top(1)>,
 L<virsh(1)>,
-L<xm(1)>,
-L<xentop(1)>,
+L<http://www.libvirt.org/ocaml/>,
 L<http://www.libvirt.org/>,
-L<http://et.redhat.com/~rjones/>,
+L<http://people.redhat.com/~rjones/>,
 L<http://caml.inria.fr/>
 
 =head1 AUTHORS
 
 Richard W.M. Jones <rjones @ redhat . com>
 
+=head1 COPYRIGHT
+
+(C) Copyright 2007-2012 Red Hat Inc., Richard W.M. Jones
+http://libvirt.org/
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
 =head1 REPORTING BUGS
 
 Bugs can be viewed on the Red Hat Bugzilla page:
@@ -309,9 +496,12 @@ should submit with your bug report.
 
 =item 3. Get version of virt-top and version of libvirt.
 
-In virt-top, press the I<h> (help) key, and write down the version of
-virt-top and the version of libvirt.  They are shown in the first
-line.
+Use:
+
+ virt-top --version
+
+If you can get the precise version of libvirt you are using
+then that too is helpful.
 
 =item 4. Submit a bug report.
 
@@ -328,5 +518,3 @@ spaces).  You can also send me an email with the bug number if you
 want a faster response.
 
 =back
-
-=end