xm command is used to manage your Red Hat Virtualization environment using a CLI interface. Most operations can be performed by the virt-manager application, including a CLI which is part of virt-manager. However, there are a few operations which currently can not be performed using virt-manager. As the xm command is part of the Xen environment a few options available with the xm command will not work in a Red Hat Enterprise Linux 5 environment. The list below provides an overview of command options available (and unavailable) in a Red Hat Enterprise Linux 5 environment. As an alternative to using the xm command one can also use the virsh command which is provided as part of the Red Hat Virtualization. The virsh command is layered on top of the libvirt API which can provide a number of benefits over using the xm command. Namely the ability to use virsh in scripts and the ability to manage other hypervisors as they are integrated into the libvirt API.
virsh or virt-manager instead of xm. The xm command does not handle error checking or configuration file errors very well and mistakes can lead to system instability or errors in virtual machines. Editing Xen configuration files manually is dangerous and should be avoided. Use this chapter at your own risk.
xm commands:
xm help [--long]: view available options and help text.
xm list command to list active domains:
$ xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 520 2 r----- 1275.5 r5b2-mySQL01 13 500 1 -b---- 16.1
xm create [-c] DomainName/ID: start a virtual machine. If the -c option is used, the start up process will attach to the guest's console.
xm console DomainName/ID: attach to a virtual machine's console.
xm destroy DomainName/ID: terminate a virtual machine , similar to a power off.
xm reboot DomainName/ID: reboot a virtual machine, runs through the normal system shut down and start up process.
xm shutdown DomainName/ID: shut down a virtual machine, runs a normal system shut down procedure.
xm pause
xm unpause
xm save
xm restore
xm migrate
xm commands to manage resources:
xm mem-set
xm vcpu-list to list virtual CPU assignments/placements:
$ xm vcpu-list Name ID VCPUs CPU State Time(s) CPU Affinity Domain-0 0 0 0 r-- 708.9 any cpu Domain-0 0 1 1 -b- 572.1 any cpu r5b2-mySQL01 13 0 1 -b- 16.1 any cpu
xm vcpu-pin
xm vcpu-set
xm sched-credit command to display scheduler parameters for a given domain:
$ xm sched-credit -d 0
{'cap': 0, 'weight': 256}
$ xm sched-credit -d 13
{'cap': 25, 'weight': 256}
xm commands for monitoring and troubleshooting:
xm top
xm dmesg
xm info
xm log
xm uptime to display the uptime of guests and hosts:
$ xm uptime Name ID Uptime Domain-0 0 3:42:18 r5b2-mySQL01 13 0:06:27
xm sysrq
xm dump-core
xm rename
xm domid
xm domname
xm vnet-list is currently unsupported.