I'm having an issue with performance on a Red Hat VM, seemingly related to a Java process that seems to be quite heavy on processing and data. I'm been working through different things, but nothing has improved the performance so far.
I currently have this VM on a host, and have confirmed that I have leftover virtual processors once I calculate the core/socket/threads.
I don't understand how/why the "CPU ready" of the VM would be non-zero when the host is underutilized for vCPUs.
Won't a non-zero value potentially mean the VM is getting shifted around semi-randomly to different CPUs?
Perhaps I'm missing something obvious... I guess I'd want to try to pin the VM to same vCPUs as a test.
VMware suggests a healthy CPU %READY is "under 5%". However, it can be non-zero even when CPU is not oversubscribed. It is possible for the hypervisor to not be ready on every cycle that the guest makes a request of it.
Whether this matters to performance as seen by the end user depends on an enormous number of variables, and is extremely specific to applications and workloads.