100% Host CPU usage while guest idling
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Expired
|
Undecided
|
Unassigned |
Bug Description
Hi,
We have an appliance that runs a FreeBSD guest on a Yocto-based host via qemu-system-x86_64.
Everything functions fine however the host uses n00% of the CPU (where n = #smp) and RAM allocated to it whilst the 1 guest is sat nearing idle.
Host:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4406 root 20 0 16.7g 16g 26m S 500 53.0 17958:38 qemu-system-x86
Guest:
CPU 0: 0.0% user, 0.0% nice, 0.4% system, 0.0% interrupt, 99.6% idle
CPU 1: 0.0% user, 0.0% nice, 0.4% system, 0.0% interrupt, 99.6% idle
CPU 2: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
CPU 3: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
CPU 4: 0.4% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.6% idle
Mem: 43M Active, 4783M Inact, 1530M Wired, 911M Buf, 9553M Free
Swap: 3072M Total, 3072M Free
I have logged this with the appliance vendor and received the response:
"This is expected behaviour and you will see the same in any case where a Guest OS runs over a Host OS.
Host here has 5 CPUs and it has assigned all of them to Guest.
Since the Host is not being shared by any Guest OS; you will always see the 500% (or the 5 CPUs) given to qemu-system-x86.
I do see the same in lab and is very much expected"
This feels fundamentally wrong to me.
I'm somewhat limited by what can be tested due to the nature of this being an appliance rather than a mainstream distro.
I'm looking for feedback that I can use to push the vendor into investigating this issue.
Versions below.
Many thanks,
Gareth
Host:
Linux 204a-node 3.10.100-
Aug 3 01:59:01 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
Qemu:
QEMU emulator version 1.7.2, Copyright (c) 2003-2008 Fabrice Bellard
Command:
(Vendor identifying information has been removed)
/usr/bin/
-name REMOVED \
-S \
-machine pc-i440fx-
-m 16384 \
-realtime mlock=on \
-smp 5,sockets=
-uuid 76277b29-
-nographic \
-no-user-config \
-nodefaults \
-chardev socket,
-mon chardev=
-rtc base=utc \
-no-shutdown \
-boot strict=on \
-device piix3-usb-
-device virtio-
-netdev tap,fd=
-device virtio-
-netdev tap,ifname=
-device virtio-
-netdev tap,ifname=
-device virtio-
-netdev tap,ifname=
-device virtio-
-chardev pty,id=charserial0 \
-device isa-serial,
-chardev tty,id=
-device isa-serial,
-chardev tty,id=
-device isa-serial,
-chardev tty,id=
-device isa-serial,
-device i6300esb,
-watchdog-action reset \
-object rng-random,
-device virtio-
-smbios type=0,
-smbios type=1,
-device REMOVED-
-device kvm-pci-
-device pci-hgcommdev,
-drive file=/REMOVED/
-device virtio-
-drive file=/REMOVED/
-device virtio-
-drive file=/REMOVED/
-device ide-hd,
-drive file=/REMOVED/
-device ide-hd,
-msg timestamp=on
The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now.
If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience.