High Proxmox VE CPU usage from Idle VM

guru4gpu

Member
Sep 10, 2020
17
1
8
Hello everyone,

there is a VM on my Proxmox VE 7.4-17 Server, that even though it is idle (2-3% CPU load inside VM) causes the CPU usage of the guest to constantly stay at 21-23%:

Proxmox VE VM Guest:
1699952127259.png

1699952137609.png
1699952142925.png

Proxmox VE Host:

1699952107121.png

1699952116066.png

I found another older thread with a similar Issue: High Cpu Load on idle KVM host
I installed linux-tools-5.15 and ran perf top:

1699952316777.png

As soon as this VM is started, this vmx_vmexit process appears, constantly consuming about 9-12% of the CPU.
The VM is running FreeBSD-13.2-RELEASE and inside is a MineOS Minecraft server iocage jail which uses NAT for networking.

Is there anything I can do to stop this VM from eating up so many CPU cycles?
There are still plenty of free CPU cycles, but this will increase the power consumption and heat of this server for no gain. :(
 
Is there anything I can do to stop this VM from eating up so many CPU cycles?
There are still plenty of free CPU cycles, but this will increase the power consumption and heat of this server for no gain. :(
Have you tried reducing the number of vCPUs if you - as you say - do not need them?
 
I just reduced the vCPU count from 4 to 2, but no change:

Proxmox VE Host:

1699957829955.png

Proxmox VE guest:

1699957845123.png

VM:

1699957898923.png

The only thing that has changed is that the reported CPU usage is twice as high.
 
No Ideas so far, since I haven't used the VM (its still turned off).

I am planning to recreate the VM, it's probably the fastest way to solve it - except someone knows how to fix this.
 
I just narrowed down the cause of the high CPU load for my VM to a single process:

Inside the VM is an iocage jail (FreeBSD container) running a MineOS server.
When the Minecraft server inside MineOS is started, the CPU load reported by Proxmox VE always stays at 45-50% (6% reported by top inside the jail):
1706043559815.png
But as soon as I kill the "java" process (user=mcserver), the CPU load drops to the 1-2% reported by Proxmox VE.

I am not sure why this causes such a high CPU load on Proxmox VE, I need to investigate further.

Are there any processes on your VMs that might be causing similar behavior?
 
Are there any processes on your VMs that might be causing similar behavior?
A year ago suricata running in FreeBSD did some changes in the scheduler and this caused QEMU to go crazy with a thread always on 100% while the vCPUs inside FreeBSD were mostly idling. Suricata later fixed it. So yes, could be software in the guest not working well with QEMU.
 
Last edited:
  • Like
Reactions: guru4gpu
This is a setting that I always set to "No" on all my FreeBSD VMs, and is not unrelated to my case.
1717441206544.png
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!