Linux list a KVM vm guest using virsh command

last updated in Categories , , , ,

How do I list a KVM vm guest using virsh command on a Linux based hypervisor?

A hypervisor is nothing but Linux kernel module that isolates operating systems and applications from the underlying server. KVM turn Linux operating system into a hypervisor. This post shows how to list an installed KVM guest VM using virsh command line option.


How to: Linux list a KVM vm guest using virsh command

The syntax is:
virsh list
virsh list --all
virsh list [options]


Let us see some command examples.

Just list domains / KVM VM guest

Simply type the command:
virsh list
virsh list --all
Linux list a KVM vm guest using virsh command
Name is the name of the domain (KVM VM guest name). ID the domain numeric id. State is the run state as follows:

  1. running – The domain is currently running on a CPU.
  2. idle – The domain is idle, and not running or runnable. This can be caused because the domain is waiting on IO (a traditional wait state) or has gone to sleep because there was nothing else for it to do.
  3. paused – The domain has been paused, usually occurring through the administrator running virsh suspend. When in a paused state the domain will still consume allocated resources like memory, but will not be eligible for scheduling by the hypervisor.
  4. in shutdown – The domain is in the process of shutting down, i.e. the guest operating system has been notified and should be in the process of stopping its operations gracefully.
  5. shut off – The domain is not running. Usually this indicates the domain has been shut down completely, or has not been started.
  6. crashed – The domain has crashed, which is always a violent ending. Usually this state can only occur if the domain has been configured not to restart on crash.
  7. pmsuspended – The domain has been suspended by guest power management, e.g. entered into s3 state.

To list domains with autostart enabled

virsh list --autostart
Sample outputs:

 Id    Name                           State
 1     openbsd62                      running
 2     freebsd11-nixcraft             running
 3     fedora28-nixcraft              running
 4     rhel7                          running
 5     centos7-nixcraft               running
 6     sles12sp3                      running

Getting help

Linux list a KVM vm guest using virsh command with the following options:
virsh list --help
Sample outputs:

    list - list domains
    list [--inactive] [--all] [--transient] [--persistent] [--with-snapshot] [--without-snapshot] [--state-running] [--state-paused] [--state-shutoff] [--state-other] [--autostart] [--no-autostart] [--with-managed-save] [--without-managed-save] [--uuid] [--name] [--table] [--managed-save] [--title]
    Returns list of domains.

virsh list command options

--inactive list inactive domains
--all list inactive & active domains
--transient list transient domains
--persistent list persistent domains
--with-snapshot list domains with existing snapshot
--without-snapshot list domains without a snapshot
--state-running list domains in running state
--state-paused list domains in paused state
--state-shutoff list domains in shutoff state
--state-other list domains in other states
--autostart list domains with autostart enabled
--no-autostart list domains with autostart disabled
--with-managed-save list domains with managed save state
--without-managed-save list domains without managed save
--uuid list uuid’s only
--name list domain names only
--table list table (default)
--managed-save mark inactive domains with managed save state
--title show domain title


And there you have it, you know how to get list of KVM VM/domains using the virsh command. For more info see this page or read man page by typing the following man command:
man virsh


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Notable Replies

  1. Thanks for the heads up. I fixed it.

Continue the discussion

1 more reply