Contents
When QEMU is running, a monitor console is provided for performing interaction with the user. Using the commands available in the monitor console, it is possible to inspect the running operating system, change removable media, take screenshots or audio grabs and control several other aspects of the virtual machine.
To access the monitor console from QEMU, press Ctrl+Alt+2. To return back to QEMU from the monitor console, press Ctrl+Alt+1.
To get help while using the console, use help or
?. To get help for a specific command, use
help command
.
To get information about the guest system, use the info
option
command. If used without any option,
the list of possible options is printed. Options determine which of the
system will be analyzed:
Shows the version of QEMU
Lists available QMP commands
Shows the network state
Shows the character devices
Information about block devices, such as hard drives, floppy drives, or CD-ROMs
Read and write statistics on block devices
Shows the CPU registers
Shows information about available CPUs
Shows the command line history
Shows the interrupts statistics
Shows the i8259 (PIC) state
Shows the PCI information
Shows virtual to physical memory mappings
Shows the active virtual memory mappings
Shows state of HPET
Shows dynamic compiler information
Shows the KVM information
Shows the NUMA information
Shows the guest USB devices
Shows the host USB devices
Shows the profiling information
Shows the capture (audio grab) information
Shows the currently saved virtual machine snapshots
Shows the current virtual machine status
Shows the guest PCMCIA status
Shows which guest mice is receiving events
Shows the VNC server status
Shows the current virtual machine name
Shows the current virtual machine UUID
Shows the user network stack connection states
Shows the migration status
Shows the balloon device information
Shows the device tree
Shows the qdev device model list
Shows the ROMs
To change the VNC password, use the change vnc password command and enter the new password:
(qemu) change vnc password Password: ******** (qemu)
To release the device or file connected to the removable media device,
use the eject device
command. Use the optional -f
to force ejection.
To change removable media (like CD-ROMs), use the change
device
command. The name of the
removable media can be determined using the info block
command:
(qemu) info block ide1-cd0: type=cdrom removable=1 locked=0 file=/dev/sr0 ro=1 drv=host_device (qemu) change ide1-cd0 /path/to/image
It is possible to use the monitor console to emulate keyboard and mouse
input if necessary. For example, if your graphical user interface
intercepts some key combinations at low level (such as
Ctrl+Alt+F1
in X Window), you can still enter them using the sendkey
keys
:
sendkey ctrl-alt-f1
To list the key names used in the keys
option,
enter sendkey and press Tab.
To control the mouse, the following commands can be used:
dx
dy
[dz
]
Move the active mouse pointer to the specified coordinates dx, dy with the optional scroll axis dz.
val
Change the state of the mouse buttons (1=left, 2=middle, 4=right).
index
Set which mouse device receives events. Device index numbers can be obtained with the info mice command.
If the virtual machine was started with the -balloon
virtio
option and the paravirtualized balloon device that allows
to dynamically change the amount of memory available is therefore
enabled, it is possible to change the available memory dynamically. For
more information about enabling the baloon device, see
Section 12.1, “Basic Installation with qemu-kvm”.
To get information about the balloon device in the monitor console and to determine whether the device is enabled, use the info balloon command:
(qemu) info balloon
If the balloon device is enabled, use the balloon
memory_in_MB
command to set the
requested amount of memory:
(qemu) balloon 400
To save the content of the virtual machine memory to a disk or console output, use the following commands:
addr
size
filename
Saves virtual memory dump starting at addr
of size size
to file
filename
addr
size
filename
Saves physical memory dump starting at addr
of size size
to file
filename
-
fmt
addr
Makes a virtual memory dump starting at address
addr
and formatted according to the
fmt
string. The
fmt
string consists of three parameters
:
count
format
size
The count
parameter is the number of the
items to be dumped.
The format
can be x
(hex), d
(signed decimal), u
(unsigned decimal), o
(octal), c
(char) or i
(assembly instruction).
The size
parameter can be
b
(8 bits), h
(16 bits),
w
(32 bits) or g
(64 bits). On
x86, h
or w
can be specified
with the i
format to respectively select 16 or
32-bit code instruction size. is the number of the items to be dumped.
fmt
addr
Makes a physical memory dump starting at address
addr
and formatted according to the
fmt
string. The
fmt
string consists of three parameters
:
count
format
size
The count
parameter is the number of the
items to be dumped.
The format
can be x
(hex), d
(signed decimal), u
(unsigned decimal), o
(octal), c
(char) or i
(asm instruction).
The size
parameter can be
b
(8 bits), h
(16 bits),
w
(32 bits) or g
(64 bits). On
x86, h
or w
can be specified
with thei
format to respectively select 16 or
32-bit code instruction size. is the number of the items to be dumped.
Virtual machine snapshots are snapshots of the complete virtual machine
including the state of CPU, RAM, and the content of all writable disks.
To use virtual machine snapshots, you must have at least one
non-removable and writable block device using the
qcow2
disk image format.
Currently, only the |
Snapshots are helpful when you need to save your virtual machine in a particular state. For example, after you configured network services on a virtualized server and want to quickly start the virtual machine in the same state that has been saved last. You can also create a snapshot after the virtual machine has been powered off to create a backup state before you try something experimental and possibly make VM Guest unstable. This section introduces the former case, while the latter is described in Section 12.2.3, “Managing Snapshots of Virtual Machines with qemu-img Snapshot”.
The following commands are available for managing snapshosts in QEMU monitor:
name
Creates a new virtual machine snapshot under the tag
name
or replaces an existing snapshot.
name
Loads a virtual machine snapshot tagged
name
.
Deletes a virtual machine snapshot.
Prints information about available snapshots.
(qemu) info snapshots Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 booting 4.4M 2010-11-22 10:51:10 00:00:20.476 2 booted 184M 2010-11-22 10:53:03 00:02:05.394 3 logged_in 273M 2010-11-22 11:00:25 00:04:34.843 4 ff_and_term_running 372M 2010-11-22 11:12:27 00:08:44.965
Unique identification number of the snapshot. Usually auto-incremented. | |
Unique description string of the snapshot. It is meant as a human readable version of the ID. | |
The disk space occupied by the snapshot. Note that the more memory is consumed by running applications, the bigger the snapshot is. | |
Time and date the snapshot was created. | |
The current state of the virtual machine's clock. |
The following commands are available for suspending and resuming virtual machines:
Suspends the execution of the virtual machine.
Resumes the execution of the virtual machine.
Resets the virtual machine. The effect is similar to the reset button on a physical machine. This may leave the filesystem in an unclean state.
Sends an ACPI shutdown request to the machine. The efect is similar to the power button on a physical machine.
Terminates QEMU immediately.
The live migration process allows to transmite any virtual machine from one host system to another host system without any interruption in availability. It is possible to change hosts permanently or just during a maintenance. It is recommended that the source and destination systems have the same architecture, however it is possible to migrate between hosts with AMD and Intel architecture or even between Linux and Windows hosts.
The requirements for the live migration:
The virtual machine image must be accessible on both source and destination hosts. For example, it can be located on a shared NFS disk.
The image directory should be located in the same path on both hosts.
Both hosts must be located in the same subnet.
The guest on the source and destination hosts must be started in the same way.
The live migration process has the following steps:
The virtual machine instance is running on the source host.
The virtual machine is started on the destination host in the frozen
listening mode. The parameters used are the same as on the source host
plus the -incoming
tcp:
parameter, where ip
:port
ip
specifies the IP address
and port
specifies the port for listening to
the incoming migration. If 0 is set as IP address, the virtual machine
listens on all interfaces.
On the source host, switch to the monitor console and use the
migrate -d
tcp:destination_ip
:port
command to initiate the migration.
To determine the state of the migration, use the info migrate command in the monitor console on the source host.
To cancel the migration, use the migrate_cancel command in the monitor console on the source host.
To set the maximum tolerable downtime for migration in seconds, use the
migrate_set_downtime
number_of_seconds
command.
To set the maximum speed for migration in bytes per second, use the
migrate_set_speed
bytes_per_second
command.