2 virt-uname - system information for virtual machines
4 virt-dmesg - print kernel messages for virtual machines
7 virt-uname [-options] [domains...]
9 virt-dmesg [-options] [domains...]
12 These virtualization tools allow you to inspect the status of virtual
13 machines running Linux.
15 The tools all use libvirt so are capable of showing stats across a
16 variety of different virtualization systems.
19 Each command obeys a common set of options. The general form is:
21 virt-*program* [-options] [domains...]
23 where *domains* is a list of guest names to act on. If no domains are
24 specified then we act on all active domains by default.
26 A *domain* may be specified either by its name or by its ID. Use *virsh
27 list* to get a list of active domain names and IDs.
29 The virt-mem tools do not work on domains which are not active (running
30 or paused). eg. They do not work on shut down domains.
33 Connect to libvirt URI. The default is to connect to the default
34 libvirt URI, normally Xen.
37 Print the results in CSV format, suitable for importing into a
38 spreadsheet or database.
40 This option is only supported if virt-mem was built with CSV
44 Emit debugging information on stderr. Please supply this if you
48 Display usage summary.
51 Test mode. Instead of checking libvirt for domain information, this
52 runs the virt-mem tool directly on the memory image supplied. You
53 may specify the -t option multiple times.
56 Display version and exit.
58 -E auto|littleendian|bigendian
59 -T auto|i386|x86-64|*address*
61 These options force the endianness, text address, and word size for
62 the subsequent domains listed on the command line (or if no domains
63 are listed, then for all domains).
65 These default to *auto* which tries to do automatic detection (using
66 libvirt, or details from the memory images themselves). You only
67 need to use these options if virt-mem tools get the automatic
70 Endianness (*-E*) sets the memory endianness, for data, pointers and
73 Text address (*-T*) sets the base address of the kernel image. *-T
74 i386* means to try some common addresses for i386-based kernels. *-T
75 x86-64* means to try some common addresses for x86-64-based kernels.
76 *-T *address** sets the address specifically (*0x* prefix is allowed
77 to specify hex addresses).
79 Word size (*-W*) sets the word size, 32 or 64 bits.
81 -A auto|i386|x86-64|...
82 This option sets the architecture to one of a collection of known
83 architectures. It is equivalent to setting endianness and wordsize
84 in one go, but not text address.
88 f9x32kvm: Linux localhost.localdomain 2.6.24-0.155.rc7.git6.fc9 #1
89 SMP Tue Jan 15 17:52:31 EST 2008 i686 (none)
91 # virt-dmesg f9x32kvm | tail
92 <6>Bluetooth: Core ver 2.11
93 <6>NET: Registered protocol family 31
94 <6>Bluetooth: HCI device and connection manager initialized
95 <6>Bluetooth: HCI socket layer initialized
96 <6>Bluetooth: L2CAP ver 2.9
97 <6>Bluetooth: L2CAP socket layer initialized
98 <6>Bluetooth: RFCOMM socket layer initialized
99 <6>Bluetooth: RFCOMM TTY layer initialized
100 <6>Bluetooth: RFCOMM ver 1.8
101 <7>eth0: no IPv6 routers present
104 The virt-mem tools spy on the guest's memory image. There are some
105 shortcomings to this, described here.
107 (1) Only works on specific, tested releases of Linux kernels. Support
108 for arbitrary Linux kernel versions may be patchy because of changes in
109 the internal structures used. Support for non-Linux kernels is currently
110 non-existent, and probably impossible for Windows because of lack of an
111 acceptable source license.
113 (2) Heuristics are used which may mean in the worst case that the output
116 (3) Structures which are frequently modified may cause errors. This
117 could be a problem if, for example, the process table in the guest is
118 being rapidly updated.
120 (4) We have to scan memory to find kernel symbols, etc., which can be
121 quite slow. Optimizing the memory scanner would help, and caching the
122 base address of the symbol table(s) would make it dramatically faster.
125 The current code tries hard to be secure against malicious guests, for
126 example guests which set up malicious kernel memory.
129 uname(1), dmesg(1), virsh(1), xm(1), <http://www.libvirt.org/ocaml/>,
130 <http://www.libvirt.org/>, <http://et.redhat.com/~rjones/>,
131 <http://caml.inria.fr/>
134 Richard W.M. Jones <rjones @ redhat . com>
137 (C) Copyright 2008 Red Hat Inc., Richard W.M. Jones http://libvirt.org/
139 This program is free software; you can redistribute it and/or modify it
140 under the terms of the GNU General Public License as published by the
141 Free Software Foundation; either version 2 of the License, or (at your
142 option) any later version.
144 This program is distributed in the hope that it will be useful, but
145 WITHOUT ANY WARRANTY; without even the implied warranty of
146 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
147 Public License for more details.
149 You should have received a copy of the GNU General Public License along
150 with this program; if not, write to the Free Software Foundation, Inc.,
151 675 Mass Ave, Cambridge, MA 02139, USA.
154 Bugs can be viewed on the Red Hat Bugzilla page:
155 <https://bugzilla.redhat.com/>.
157 If you find a bug in virt-mem, please follow these steps to report it:
159 1. Check for existing bug reports
160 Go to <https://bugzilla.redhat.com/> and search for similar bugs.
161 Someone may already have reported the same bug, and they may even
164 2. Capture debug and error messages
167 virt-*program* --debug > virt-mem.log 2>&1
169 and keep *virt-mem.log*. It contains error messages which you should
170 submit with your bug report.
172 3. Get version of virt-mem and version of libvirt.
175 virt-*program* --version
177 4. Submit a bug report.
178 Go to <https://bugzilla.redhat.com/> and enter a new bug. Please
179 describe the problem in as much detail as possible.
181 Remember to include the version numbers (step 3) and the debug
182 messages file (step 2).
184 5. Assign the bug to rjones @ redhat.com
185 Assign or reassign the bug to rjones @ redhat.com (without the
186 spaces). You can also send me an email with the bug number if you
187 want a faster response.