cddc75054e4d39851cf9339e880f30f3b3640dab
[virt-what.git] / virt-what.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 virt-what - detect if we are running in a virtual machine
6
7 =head1 SUMMARY
8
9 virt-what [options]
10
11 =head1 DESCRIPTION
12
13 C<virt-what> is a shell script which can be used to detect if the
14 program is running in a virtual machine.
15
16 The program prints out a list of "facts" about the virtual machine,
17 derived from heuristics.  One fact is printed per line.
18
19 If nothing is printed and the script exits with code 0 (no error),
20 then it can mean I<either> that the program is running on bare-metal
21 I<or> the program is running inside a type of virtual machine which we
22 don't know about or cannot detect.
23
24 =head1 FACTS
25
26 =over 4
27
28 =item B<hyperv>
29
30 This is Hyper-V.
31
32 Status: confirmed by RWMJ
33
34 =item B<ibm_systemz>
35
36 This is an IBM SystemZ (or other S/390) mainframe.  Additional
37 facts listed below may also be printed.
38
39 =item B<ibm_systemz-direct>
40
41 This is Linux running directly on a IBM SystemZ mainframe.
42
43 This is expected to be a highly unusual configuration - if
44 you see this result you should treat it with suspicion.
45
46 Status: not confirmed
47
48 =item B<ibm_systemz-lpar>
49
50 This is Linux running directly on an LPAR on an IBM SystemZ mainframe.
51
52 Status: not confirmed
53
54 =item B<ibm_systemz-zvm>
55
56 This is a z/VM guest running in an LPAR on an IBM SystemZ mainframe.
57
58 Status: confirmed by RWMJ using a Fedora guest running in z/VM
59
60 =item B<linux_vserver>
61
62 This process is running in a Linux VServer container.
63
64 Status: contributed by Barış Metin
65
66 =item B<kvm>
67
68 This is KVM.
69
70 Status: confirmed by RWMJ.
71
72 =item B<openvz>
73
74 The guest appears to be running inside an OpenVZ or Virtuozzo
75 container.
76
77 Status: contributed by Evgeniy Sokolov
78
79 =item B<parallels>
80
81 The guest is running inside Parallels Virtual Platform
82 (Parallels Desktop, Parallels Server).
83
84 Status: contributed by Justin Clift
85
86 =item B<powervm_lx86>
87
88 The guest is running inside IBM PowerVM Lx86 Linux/x86 emulator.
89
90 Status: data supplied by Jeffrey Scheel, not confirmed
91
92 =item B<qemu>
93
94 This is QEMU using software emulation.
95
96 Note that for KVM (hardware accelerated) guests you should I<not> see
97 this.
98
99 Status: confirmed by RWMJ.
100
101 =item B<uml>
102
103 This is a User-Mode Linux (UML) guest.
104
105 Status: contributed by Laurent Léonard
106
107 =item B<virtage>
108
109 This is Hitachi Virtualization Manager (HVM) Virtage logical partitioning.
110
111 Status: data supplied by Bhavna Sarathy, not confirmed
112
113 =item B<virtualbox>
114
115 This is a VirtualBox guest.
116
117 Status: contributed by Laurent Léonard
118
119 =item B<virtualpc>
120
121 The guest appears to be running on Microsoft VirtualPC.
122
123 Status: not confirmed
124
125 =item B<vmware>
126
127 The guest appears to be running on VMware.
128
129 Status: confirmed by RWMJ
130
131 =item B<xen>
132
133 The guest appears to be running on Xen.
134
135 Status: confirmed by RWMJ
136
137 =item B<xen-dom0>
138
139 This is the Xen dom0 (privileged domain).
140
141 Status: confirmed by RWMJ
142
143 =item B<xen-domU>
144
145 This is a Xen domU (paravirtualized guest domain).
146
147 Status: confirmed by RWMJ
148
149 =item B<xen-hvm>
150
151 This is a Xen guest fully virtualized (HVM).
152
153 Status: confirmed by RWMJ
154
155 =back
156
157 =head1 IMPORTANT NOTE
158
159 Most of the time, using this program is the I<wrong> thing to do.
160 Instead you should detect the specific features you actually want to
161 use.  (As an example, if you wanted to issue Xen hypervisor commands
162 you would look for the C</proc/xen/privcmd> file).
163
164 However people keep asking for this, so we provide it.  There are a
165 few legitimate uses:
166
167 =over 4
168
169 =item Bug reporting tool
170
171 If you think that virtualization could affect how your program runs,
172 then you might use C<virt-what> to report this in a bug reporting
173 tool.
174
175 =item Status display and monitoring tools
176
177 You might include this information in status and monitoring programs.
178
179 =back
180
181 =head1 SEE ALSO
182
183 L<http://people.redhat.com/~rjones/virt-what/>,
184 L<http://www.vmware.com/>,
185 L<http://www.microsoft.com/windows/products/winfamily/virtualpc>,
186 L<http://xensource.com/>,
187 L<http://bellard.org/qemu/>,
188 L<http://kvm.qumranet.com/>,
189 L<http://openvz.org/>
190
191 =head1 AUTHORS
192
193 Richard W.M. Jones <rjones @ redhat . com>
194
195 =head1 COPYRIGHT
196
197 (C) Copyright 2008-2011 Red Hat Inc.,
198 L<http://people.redhat.com/~rjones/virt-what/>
199
200 This program is free software; you can redistribute it and/or modify
201 it under the terms of the GNU General Public License as published by
202 the Free Software Foundation; either version 2 of the License, or
203 (at your option) any later version.
204
205 This program is distributed in the hope that it will be useful,
206 but WITHOUT ANY WARRANTY; without even the implied warranty of
207 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
208 GNU General Public License for more details.
209
210 You should have received a copy of the GNU General Public License
211 along with this program; if not, write to the Free Software
212 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
213
214 =head1 REPORTING BUGS
215
216 Bugs can be viewed on the Red Hat Bugzilla page:
217 L<https://bugzilla.redhat.com/>.
218
219 If you find a bug in virt-what, please follow these steps to report it:
220
221 =over 4
222
223 =item 1. Check for existing bug reports
224
225 Go to L<https://bugzilla.redhat.com/> and search for similar bugs.
226 Someone may already have reported the same bug, and they may even
227 have fixed it.
228
229 =item 2. Capture debug and error messages
230
231 Run
232
233  virt-what > virt-what.log 2>&1
234
235 and keep I<virt-what.log>.  It may contain error messages which you
236 should submit with your bug report.
237
238 =item 3. Get version of virt-what.
239
240 Run
241
242  virt-what --version
243
244 =item 4. Submit a bug report.
245
246 Go to L<https://bugzilla.redhat.com/> and enter a new bug.
247 Please describe the problem in as much detail as possible.
248
249 Remember to include the version numbers (step 3) and the debug
250 messages file (step 2) and as much other detail as possible.
251
252 =item 5. Assign the bug to rjones @ redhat.com
253
254 Assign or reassign the bug to B<rjones @ redhat.com> (without the
255 spaces).  You can also send me an email with the bug number if you
256 want a faster response.
257
258 =back