High CPU usage on windows virtual machine

Bug #1318830 reported by Philip Orleans
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
QEMU
Invalid
Undecided
Unassigned
qemu (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I got Ubuntu 14.04, with Qemu 2.0 and moved my windows VM to this new box, and made sure that what this article indicates was achieved
https://www.kraxel.org/blog/2014/03/qemu-and-usb-tablet-cpu-consumtion/
I can attest that it works following the instructions, erasing the registry, etc.
Unfortunately, with 4 cpus as below, I still see 60% CPU outside as shown by "Top" versus 0% CPU inside. My Kernel is 3.15.0-031500rc4-generic
If some developer wants to log in and take a look, I am happy to help. The box is not in production and I take full responsibility. Until this is solved, KVM is not going to compete with Hyper-V or Vmware. Basically KVM is not suitable for the Enterprise as of yet.

qemu-system-x86_64 -enable-kvm -name Production -S -machine pc-i440fx-2.0,accel=kvm,usb=off -cpu kvm64,+rdtscp,+pdpe1gb,+x2apic,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme,hv_relaxed,hv_vapic,hv_spinlocks=0xfff -m 4024 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid e8701c5c-b542-0199-fd2a-1047df24770e -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Production.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/Production.img,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=30,id=hostnet0,vhost=on,vhostfd=31 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:16:3a:d2:cd:ea,bus=pci.0,addr=0x3 -netdev tap,fd=35,id=hostnet1,vhost=on,vhostfd=36 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:70:fe:54,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 -device VGA,id=video0,bus=pci.0,addr=0x2 -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

Philip Orleans (venefax)
description: updated
affects: libvirt (Ubuntu) → qemu (Ubuntu)
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Hi,

could you please try adding hyperv to the vm options, as shown here:

https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1308341/comments/10

Please let us know if that helps.

Changed in qemu (Ubuntu):
status: New → Incomplete
Revision history for this message
Boyan Stoyanovich (bstojanovic) wrote :
Download full text (3.7 KiB)

I have this problem also using Debian Wheezy with backported qemu-kvm-2.0.0, CPU usage for idle Windows machine ,using top to measure ,is constantly >30% (while in Windows Task Manager >5%), while Linux VM beside is working fine (CPU >5%) when idle...

Here are the details about packages used and qemu-kvm process:

root@bojan:~# uname -a
Linux bojan 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u1 x86_64 GNU/Linux
root@bojan:~# dpkg -l | egrep '(qemu|kvm|spice)'
ii ipxe-qemu 1.0.0+git-20120202.f6840ba-3 all PXE boot firmware - ROM images for qemu
ii libspice-client-glib-2.0-1:amd64 0.12-5 amd64 GObject for communicating with Spice servers (runtime library)
ii libspice-client-gtk-2.0-1:amd64 0.12-5 amd64 GTK2 widget for SPICE clients (runtime library)
ii libspice-server1:amd64 0.12.4-0nocelt2~bpo70+1 amd64 Implements the server side of the SPICE protocol
ii python-spice-client-gtk 0.12-5 amd64 GTK2 widget for SPICE clients (Python binding)
ii qemu-keymaps 1.1.2+dfsg-6a+deb7u3 all QEMU keyboard maps
ii qemu-kvm 2.0.0+dfsg-4~bpo70+1 amd64 QEMU Full virtualization on x86 hardware (transitional package)
rc qemu-system 2.0.0+dfsg-4~bpo70+1 amd64 QEMU full system emulation binaries
ii qemu-system-common 2.0.0+dfsg-4~bpo70+1 amd64 QEMU full system emulation binaries (common files)
ii qemu-system-x86 2.0.0+dfsg-4~bpo70+1 amd64 QEMU full system emulation binaries (x86)
ii qemu-utils 2.0.0+dfsg-4~bpo70+1 amd64 QEMU utilities

115 18212 36.1 35.4 2727568 2154604 ? Sl 10:07 4:08 qemu-system-x86_64 -enable-kvm -name Win7ENTx64 -S -machine pc-i440fx-2.0,accel=kvm,usb=off -cpu SandyBridge,+erms,+smep,+fsgsbase,+rdrand,+f16c,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid c1be1529-83e4-82f1-5277-d82cb0e853b4 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Win7ENTx64.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -drive file=/var/lib/libvirt/images/Win7ENTx64.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/var/lib/libvirt/images/Microsoft_Windows_7_Enterprise_x64_SP1.ISO,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ac:2b:78,bus=pci.0,add...

Read more...

Revision history for this message
Boyan Stoyanovich (bstojanovic) wrote :

 P.S. I have tried above suggested (adding hyperv to the vm options...) soultion, but it doesn't help.

Revision history for this message
Boyan Stoyanovich (bstojanovic) wrote :

Typo correction:

CPU usage for idle Windows machine, using top to measure, is constantly >30% (while in Windows Task Manager <5%), while Linux VM beside is working fine (CPU <5%) when idle...

Changed in qemu (Ubuntu):
status: Incomplete → New
Revision history for this message
Ryan Harper (raharper) wrote :

Hi,

Are you running ntp in the host or timekeeping in the guest? If so, is the guest clock close to what current time should be?

Also, can you try adding this option:

-global mc146818rtc.lost_tick_policy=slew

Revision history for this message
Philip Orleans (venefax) wrote : Re: [Bug 1318830] Re: High CPU usage on windows virtual machine

I no longer use KVM. It is unsupported, it seems.
Yours
Federico

On Fri, Jan 16, 2015 at 5:16 PM, Ryan Harper <email address hidden>
wrote:

> Hi,
>
> Are you running ntp in the host or timekeeping in the guest? If so, is
> the guest clock close to what current time should be?
>
> Also, can you try adding this option:
>
> -global mc146818rtc.lost_tick_policy=slew
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1318830
>
> Title:
> High CPU usage on windows virtual machine
>
> Status in QEMU:
> New
> Status in qemu package in Ubuntu:
> New
>
> Bug description:
> I got Ubuntu 14.04, with Qemu 2.0 and moved my windows VM to this new
> box, and made sure that what this article indicates was achieved
> https://www.kraxel.org/blog/2014/03/qemu-and-usb-tablet-cpu-consumtion/
> I can attest that it works following the instructions, erasing the
> registry, etc.
> Unfortunately, with 4 cpus as below, I still see 60% CPU outside as
> shown by "Top" versus 0% CPU inside. My Kernel is 3.15.0-031500rc4-generic
> If some developer wants to log in and take a look, I am happy to help.
> The box is not in production and I take full responsibility. Until this is
> solved, KVM is not going to compete with Hyper-V or Vmware. Basically KVM
> is not suitable for the Enterprise as of yet.
>
> qemu-system-x86_64 -enable-kvm -name Production -S -machine pc-
> i440fx-2.0,accel=kvm,usb=off -cpu
>
> kvm64,+rdtscp,+pdpe1gb,+x2apic,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme,hv_relaxed,hv_vapic,hv_spinlocks=0xfff
> -m 4024 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid
> e8701c5c-b542-0199-fd2a-1047df24770e -no-user-config -nodefaults
> -chardev
>
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/Production.monitor,server,nowait
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime
> -no-shutdown -boot strict=on -device piix3-usb-
> uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/var/lib/libvirt/images/Production.img,if=none,id=drive-virtio-
> disk0,format=raw -device virtio-blk-
> pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-
> disk0,bootindex=1 -netdev tap,fd=30,id=hostnet0,vhost=on,vhostfd=31
> -device virtio-net-
> pci,netdev=hostnet0,id=net0,mac=00:16:3a:d2:cd:ea,bus=pci.0,addr=0x3
> -netdev tap,fd=35,id=hostnet1,vhost=on,vhostfd=36 -device virtio-net-
> pci,netdev=hostnet1,id=net1,mac=52:54:00:70:fe:54,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 -device VGA,id=video0,bus=pci.0,addr=0x2 -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
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1318830/+subscriptions
>

Changed in qemu (Ubuntu):
status: New → Invalid
Changed in qemu:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.