Updated man pages
[virt-mem.git] / virt-mem.1
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "VIRT-MEM 1"
132 .TH VIRT-MEM 1 "2008-06-10" "virt-mem-0.2.1" "Virtualization Support"
133 .SH "NAME"
134 virt\-uname \- system information for virtual machines
135 .PP
136 virt\-dmesg \- print kernel messages for virtual machines
137 .SH "SUMMARY"
138 .IX Header "SUMMARY"
139 virt-uname [\-options] [domains...]
140 .PP
141 virt-dmesg [\-options] [domains...]
142 .SH "DESCRIPTION"
143 .IX Header "DESCRIPTION"
144 These virtualization tools allow you to inspect the status of
145 virtual machines running Linux.
146 .PP
147 The tools all use libvirt so are capable of showing stats across a
148 variety of different virtualization systems.
149 .SH "COMMON OPTIONS"
150 .IX Header "COMMON OPTIONS"
151 Each command obeys a common set of options.  The general form is:
152 .PP
153 virt\-\fIprogram\fR [\-options] [domains...]
154 .PP
155 where \fIdomains\fR is a list of guest names to act on.  If no domains
156 are specified then we act on all active domains by default.
157 .PP
158 A \fIdomain\fR may be specified either by its name or by its \s-1ID\s0.  Use
159 \&\fIvirsh list\fR to get a list of active domain names and IDs.
160 .PP
161 The virt-mem tools do not work on domains which are not active
162 (running or paused).  eg. They do not work on shut down domains.
163 .IP "\fB\-c uri\fR, \fB\-\-connect uri\fR" 4
164 .IX Item "-c uri, --connect uri"
165 Connect to libvirt \s-1URI\s0.  The default is to connect to the default
166 libvirt \s-1URI\s0, normally Xen.
167 .IP "\fB\-\-csv\fR" 4
168 .IX Item "--csv"
169 Print the results in \s-1CSV\s0 format, suitable for importing into a
170 spreadsheet or database.
171 .Sp
172 This option is only supported if virt-mem was built with \s-1CSV\s0 support.
173 .IP "\fB\-\-debug\fR" 4
174 .IX Item "--debug"
175 Emit debugging information on stderr.  Please supply this if you
176 report a bug.
177 .IP "\fB\-\-help\fR" 4
178 .IX Item "--help"
179 Display usage summary.
180 .IP "\fB\-t memoryimage\fR" 4
181 .IX Item "-t memoryimage"
182 Test mode.  Instead of checking libvirt for domain information, this
183 runs the virt-mem tool directly on the memory image supplied.  You may
184 specify the \fB\-t\fR option multiple times.
185 .IP "\fB\-\-version\fR" 4
186 .IX Item "--version"
187 Display version and exit.
188 .IP "\fB\-E auto|littleendian|bigendian\fR" 4
189 .IX Item "-E auto|littleendian|bigendian"
190 .PD 0
191 .IP "\fB\-T auto|i386|x86\-64|\f(BIaddress\fB\fR" 4
192 .IX Item "-T auto|i386|x86-64|address"
193 .IP "\fB\-W auto|32|64\fR" 4
194 .IX Item "-W auto|32|64"
195 .PD
196 These options force the endianness, text address, and word size for
197 the subsequent domains listed on the command line (or if no domains
198 are listed, then for all domains).
199 .Sp
200 These default to \fIauto\fR which tries to do automatic detection (using
201 libvirt, or details from the memory images themselves).  You only need
202 to use these options if virt-mem tools get the automatic detection
203 wrong.
204 .Sp
205 Endianness (\fI\-E\fR) sets the memory endianness, for data, pointers and
206 so on.
207 .Sp
208 Text address (\fI\-T\fR) sets the base address of the kernel image.  \fI\-T
209 i386\fR means to try some common addresses for i386\-based kernels.  \fI\-T
210 x86\-64\fR means to try some common addresses for x86\-64\-based kernels.
211 \&\fI\-T \fIaddress\fI\fR sets the address specifically (\fI0x\fR prefix is
212 allowed to specify hex addresses).
213 .Sp
214 Word size (\fI\-W\fR) sets the word size, 32 or 64 bits.
215 .IP "\fB\-A auto|i386|x86\-64|...\fR" 4
216 .IX Item "-A auto|i386|x86-64|..."
217 This option sets the architecture to one of a collection of known
218 architectures.  It is equivalent to setting endianness and wordsize in
219 one go, but not text address.
220 .SH "EXAMPLES"
221 .IX Header "EXAMPLES"
222 .Vb 3
223 \& # virt-uname
224 \& f9x32kvm: Linux localhost.localdomain 2.6.24-0.155.rc7.git6.fc9 #1
225 \& SMP Tue Jan 15 17:52:31 EST 2008 i686 (none)
226 .Ve
227 .PP
228 .Vb 11
229 \& # virt-dmesg f9x32kvm | tail
230 \& <6>Bluetooth: Core ver 2.11
231 \& <6>NET: Registered protocol family 31
232 \& <6>Bluetooth: HCI device and connection manager initialized
233 \& <6>Bluetooth: HCI socket layer initialized
234 \& <6>Bluetooth: L2CAP ver 2.9
235 \& <6>Bluetooth: L2CAP socket layer initialized
236 \& <6>Bluetooth: RFCOMM socket layer initialized
237 \& <6>Bluetooth: RFCOMM TTY layer initialized
238 \& <6>Bluetooth: RFCOMM ver 1.8
239 \& <7>eth0: no IPv6 routers present
240 .Ve
241 .SH "SHORTCOMINGS"
242 .IX Header "SHORTCOMINGS"
243 The virt-mem tools spy on the guest's memory image.  There are some
244 shortcomings to this, described here.
245 .PP
246 (1) Only works on specific, tested releases of Linux kernels.  Support
247 for arbitrary Linux kernel versions may be patchy because of changes
248 in the internal structures used.  Support for non-Linux kernels is
249 currently non\-existent, and probably impossible for Windows because of
250 lack of an acceptable source license.
251 .PP
252 (2) Heuristics are used which may mean in the worst case that the
253 output is wrong.
254 .PP
255 (3) Structures which are frequently modified may cause errors.  This
256 could be a problem if, for example, the process table in the guest is
257 being rapidly updated.
258 .PP
259 (4) We have to scan memory to find kernel symbols, etc., which can be
260 quite slow.  Optimizing the memory scanner would help, and caching the
261 base address of the symbol table(s) would make it dramatically faster.
262 .SH "SECURITY"
263 .IX Header "SECURITY"
264 The current code tries hard to be secure against malicious guests, for
265 example guests which set up malicious kernel memory.
266 .SH "SEE ALSO"
267 .IX Header "SEE ALSO"
268 \&\fIuname\fR\|(1),
269 \&\fIdmesg\fR\|(1),
270 \&\fIvirsh\fR\|(1),
271 \&\fIxm\fR\|(1),
272 <http://www.libvirt.org/ocaml/>,
273 <http://www.libvirt.org/>,
274 <http://et.redhat.com/~rjones/>,
275 <http://caml.inria.fr/>
276 .SH "AUTHORS"
277 .IX Header "AUTHORS"
278 Richard W.M. Jones <rjones @ redhat . com>
279 .SH "COPYRIGHT"
280 .IX Header "COPYRIGHT"
281 (C) Copyright 2008 Red Hat Inc., Richard W.M. Jones
282 http://libvirt.org/
283 .PP
284 This program is free software; you can redistribute it and/or modify
285 it under the terms of the \s-1GNU\s0 General Public License as published by
286 the Free Software Foundation; either version 2 of the License, or
287 (at your option) any later version.
288 .PP
289 This program is distributed in the hope that it will be useful,
290 but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
291 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0.  See the
292 \&\s-1GNU\s0 General Public License for more details.
293 .PP
294 You should have received a copy of the \s-1GNU\s0 General Public License
295 along with this program; if not, write to the Free Software
296 Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA\s0 02139, \s-1USA\s0.
297 .SH "REPORTING BUGS"
298 .IX Header "REPORTING BUGS"
299 Bugs can be viewed on the Red Hat Bugzilla page:
300 <https://bugzilla.redhat.com/>.
301 .PP
302 If you find a bug in virt\-mem, please follow these steps to report it:
303 .IP "1. Check for existing bug reports" 4
304 .IX Item "1. Check for existing bug reports"
305 Go to <https://bugzilla.redhat.com/> and search for similar bugs.
306 Someone may already have reported the same bug, and they may even
307 have fixed it.
308 .IP "2. Capture debug and error messages" 4
309 .IX Item "2. Capture debug and error messages"
310 Run
311 .Sp
312 virt\-\fIprogram\fR \-\-debug > virt\-mem.log 2>&1
313 .Sp
314 and keep \fIvirt\-mem.log\fR.  It contains error messages which you should
315 submit with your bug report.
316 .IP "3. Get version of virt-mem and version of libvirt." 4
317 .IX Item "3. Get version of virt-mem and version of libvirt."
318 Run
319 .Sp
320 virt\-\fIprogram\fR \-\-version
321 .IP "4. Submit a bug report." 4
322 .IX Item "4. Submit a bug report."
323 Go to <https://bugzilla.redhat.com/> and enter a new bug.
324 Please describe the problem in as much detail as possible.
325 .Sp
326 Remember to include the version numbers (step 3) and the debug
327 messages file (step 2).
328 .IP "5. Assign the bug to rjones @ redhat.com" 4
329 .IX Item "5. Assign the bug to rjones @ redhat.com"
330 Assign or reassign the bug to \fBrjones @ redhat.com\fR (without the
331 spaces).  You can also send me an email with the bug number if you
332 want a faster response.