How to tell if VM in KVM is using VT-x

MikeKulls asked:

I have a machine running under KVM which is not performing very well. I have been trying to google a way to determine if a VM is using VT-x. I can find plenty of links on how to determine if your processor supports VT-x and if it is enabled in the bios but how can I verify that my VM is using it? Server supports vtx and it is enabled.

Result of ps ax | grep kvm

2039 ? S 0:00 [kvm-irqfd-clean]
21158 ? Sl 50:43 /usr/libexec/qemu-kvm -name cws-QV1 -S -M rhel6.6.0 -cpu SandyBridge,+erms,+smep,+fsgsbase,+pdpe1gb,+rdrand,+f16c,+osxsave,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -enable-kvm -m 200000 -realtime mlock=off -smp 32,sockets=2,cores=16,threads=1 -uuid ea794c0c-2f56-9eae-1859-98be632e44df -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/cws-QV1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -no-shutdown -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -drive file=/kvm/cws-QV1/SAD_SOE_W2008-R2-ENT-x64.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/libvirt/images/cws-QV1.img,if=none,id=drive-ide0-0-1,format=qcow2,cache=none -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/var/lib/libvirt/images/cws-QV1-1.img,if=none,id=drive-ide0-1-1,format=qcow2,cache=none -device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 -netdev tap,fd=23,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=52:54:00:81:1e:c7,bus=pci.0,addr=0x3 -netdev tap,fd=24,id=hostnet1,vhost=on,vhostfd=25 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:8f:39:e5,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga std -device intel-hda,id=sound0,bus=pci.0,addr=0x5 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on

My answer:


On the host:

Look at your process list. A KVM machine started with VT-x acceleration will contain the command line option -machine accel=kvm (possibly along with other related machine options).

$ ps ax | grep accel=kvm
14912 ?        Sl    90:09 /usr/bin/qemu-system-x86_64 -machine accel=kvm -name Windows2012R2 ...........

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.