Link to home
Start Free TrialLog in
Avatar of Chris H
Chris HFlag for United States of America

asked on

Centos7 x64 VM, 8vCPU and 32GB memory not using full CPU.

Centos7 x64 VM, 8vCPU and 32GB memory not using full CPU.  The VM is version 8.

We had a vendor build us a vm and swear up and down that we needed to provide it 8 vCPU (2socket x 4core) in order to give their application max performance.

This is the host's CPU stats for the last month
User generated image
This is top from the guest.
User generated image
If I'm reading both of these correctly, it would appear that the guest VM thinks it's maxed out across 8 cpus and the host is reporting that only one core is maxed out.  I get this from the fact that the guest, over the last month, hasn't used more than around 13% physical CPU on the host.  Am I interpreting that correctly?

My concern is that this vm was installed and built with 1 single core and then we were instructed to provide it more.  The VM was shipped in an OVA and was not shipped with open-vm-tools installed on it.

Any ideas on how to make this thing more powerful?  I'm tempted to set the vcpu's to 1x1.
Avatar of Bryant Schaper
Bryant Schaper
Flag of United States of America image

Seems like 8 vCPU is not really needed, is the app under full load?  Also if it was built with a single vCPU initially the app may only think it has 1, so you may need to discuss with the vendor to confirm that is the case.
Avatar of Chris H

ASKER

@Bryant.  

Thanks for the quick response.

I did a test and rebooted the VM and when the kernel loads, the VM actually consumes the full amount of CPU.  It's a version 8 VM, which is the default model for ESX 5.1, so I already have strong concerns about the build practices.  There is no java RPM, which leads me to believe that java was compiled under a single threaded environment.  I'm a little angry now, as these people argued with me initially and now it looks like they have no idea what they're doing.

I know in earlier versions of windows, there was a kernel driver (Multiprocessor) that needed to be installed to acknowledge and utilize more than one cpu.  What is the easiest solution for this problem if the vendor comes back and says they're not fixing it?

Is there a way to set the vhardware to 1socket x 1cpu and tell 8 physical processors to handle the single queue, or is that non-existent?
OK, so I am not a linux pro, but you should be able to have 1 vCPU with 8 cores, or 2 vCPU with 4 cores like you have.  Typically it is the same thing to VMWare, just a licensing issue with some products, MS SQL Server comes to mind.

How does the app perform?  Can you just scale it back and see if it impacts anything?
PID1984 are consuming 26Gb and 1% CPU (DB ?!) while PID11891 need more than 1 CPU/core (I/O component?). 141% is not relevant . The CPU load distribution tell that all core are used (no more other info...!). TOP are seen just 1 process in running. I guess that you must  shoot in another moment ...
Top is not the best for investigation. On an smooth system, TOP are consuming more than OS.
There are other tools that can gave you the load for a Linux-like OS ( very basic one is vmstat ).
Question(s) : what problem you have ? Slow response ? Lose resources with this engine ? Not an 100% CPU usage ?
Avatar of Chris H

ASKER

The separate CPUs in top are displaying that they're all active while the Host OS shows the CPU running at 13%.  I believe that top is simply using math based off affinity of a single processor instead of utilizing the 8vCpu it is allocated.  I believe my analytics attached to this question are proof of that.  I need this VM to be able to use more than 1vCPU.

I've attached another image that proves my theory.  If you notice below, the server will in fact use all cpus if the kernel is loading (reboots are the spikes).  The second the operating system and user environment load, the load is constrained at 12.5% average.

8 * 12.5% = 100%

User generated image
Looks like a stack graph view, can you generate the report of just the cpus MHz and dont stack them
Avatar of Chris H

ASKER

@Bryant

The first post has the unstacked usage in MHZ and Overall utilization.

Thanks!
This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.