Can a vm with 1 vCPU use more CPU computing resources than entitled during CPU-intensive spikes?

So my boss asked a question today that I did not know the answer to offhand. I am not a certified VMWare VCP, etc so I apologize if this is a dumb question. Here goes:

Say I have a VM that is assigned 1 vCPU. Given that the cores of the pCPU are 2GHz, what would happen if the VM suddenly ran at max CPU utilization for a relatively sustained period? For instance, the VM requires 2.5GHz of processing power for 5 minutes. Is there a feature in vSphere that would allow that VM to "steal" some CPU cycles from the pool of CPU resources on the host in order to not be maxed out for those 5 minutes?

We have VMs that typically barely bump 1 vCPU, but on occasion, they may get hammered by some sustained CPU intensive process. As such we don't want to have to permanently assign 2 vCPUs to these VMs and have them sit barely above 1% for the majority of the time when they only really require those resources for short, heavy bursts. Is there a way to make this work?

Thanks,
JAK
LVL 1
SimplyGeekyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
When you assign 1 vCPU (socket) in the VM, it's allocated against 1 core of the physical hosts processor, if the physical core is 2GHz, the vCPU MAX is 2000 clock cycles.

This is simplified, because this process, is time sliced across all the cores in the physical host, so the assigned vCPU to physical Core, may not be the same core throughout the process.

Your VM can only use the resources it has been assigned, it cannot use more than what is has been assigned, e.g. DYNAMIC CPU MHz does not exist.

You will find that your VM, should be MAX OUT (CPU) for 5 minutes, so I would give it another vCPU (if it needs it!).

Assign another vCPU.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gheistCommented:
First it will use cores on one socket, then add cores on next socket, and in the end hyperthreads (count all the VCPUs running in full)
Once you exceed 2 completely loaded vCPUs per core it becomes visibly slower for interactive users.
But you really need enormous amounts of RAM to get there.
2 vcpus is good minimum for any system. One archaic runaway process will not hurt your system (example: Antivirus)
0
gheistCommented:
Indeed dynamic CPU MHZ do exist called turbo mode...
0
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
We don't yet have them in the virtual world.....

e.g. like dynamic memory in Hyper-V!

Maybe Hot Add, but it's not automatic!
0
gheistCommented:
Outside VM you see more than nominal GHz per vCPU, and inside VM you can detect it with linux turbostat...
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VMware

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.