VMware Cloud Community
ssecuro
Contributor
Contributor

2 proc intel quad core

Hello Good day, I have a server with 2 quad core Intel proc and I have a esxi 3.5 installed on your configuration, esxi I see the core 8 but when I create a virtual machine only lets me select 4 Where is the problem?

0 Kudos
17 Replies
khughes
Virtuoso
Virtuoso

That is the design of ESX, it only allows you to create a VM with 4 vCPU (virtual cpu's). Is there a particular reason why you want to assign a VM with 8 vCPU's? There is really not reason to create a ESX server and then assign it all the physical hardware.

  • Kyle

-- Kyle "RParker wrote: I guess I was wrong, everything CAN be virtualized "
0 Kudos
Troy_Clavell
Immortal
Immortal

as Kyle pointed out you have hit a configuration maximum in VI3. vSphere will allow for more vCPU's, but in almost all cases with vCPU's, more is not better.

I say start with 1 and work your way up to two if needed.

0 Kudos
ssecuro
Contributor
Contributor

This bought the server with 2 quad core would be fantastic and could be used not only 1 and 2. there a way that when you create the virtual pc show 8 processors?

0 Kudos
RParker
Immortal
Immortal

This bought the server with 2 quad core would be fantastic and could be used not only 1 and 2. there a way that when you create the virtual pc show 8 processors?

On top of what has already been said, just because you have a physical box with 8 cores does not mean you were actually USING All 8 cores either. I would benchmark with 1 vCPU in that VM, and see if you can even notice a difference. Virtual does not equal physical in performance anyway, so you can't get the same level even by adding more CPU, but that still doesn't imply cores available were cores in use.

0 Kudos
khughes
Virtuoso
Virtuoso

This is where you will need to break away from the physical mentality of server hardware to the virtual side of hardware. More resources within a VM usually means LESS performance. By adding more resources lets say 4 vCPU's you're going to add major contention to the rest of the VM's on that host and not only cause the VM you assign 4 vCPU's to slow down but also slowing down the rest of the VM's on that host. Like Troy said, general rule of thumb is always start out with the most minimal resources needed, 1 vCPU and "X" amount of RAM. From there if your server needs more resources to do the job it needs to do, then you can slowly add to it. Much easier to add then to take away (even though taking away is usually pretty easy).

  • Kyle

-- Kyle "RParker wrote: I guess I was wrong, everything CAN be virtualized "
0 Kudos
RParker
Immortal
Immortal

Wow I have been trying to figure out the best way to explain this..

This is where you will need to break away from the physical mentality of server hardware to the virtual side of hardware. More resources within a VM usually means LESS performance.

That pretty much exactly what I need to tell people. Sweet! I am using this. It's not copyrighted already is it? Am I breaking 'intellectual property" laws, Mr. Hughes? Smiley Wink

0 Kudos
khughes
Virtuoso
Virtuoso

Actually it is copyrighted by myself and should not be reproduced or redistributed without consent by well... me. I might be flexible for some approvals after a few beers at VMworld in SF Smiley Happy

  • Kyle

-- Kyle "RParker wrote: I guess I was wrong, everything CAN be virtualized "
0 Kudos
ranjitcool
Hot Shot
Hot Shot

The point Mr. Hughes made was real good, I am now reducing my vm from 4 to 1 cpu :smileygrin:

By the way, does it really use 4 cores of the cpu if i assign a vm 4 cps ? If it uses 4 physical cores, isnt that defeating the whole "vitual" deal?

RJ

May be we all live virtual lives..

Please award points if you find my answers helpful Thanks RJ Visit www.rjapproves.com
0 Kudos
khughes
Virtuoso
Virtuoso

If you have dual quad-cores in your ESX host then you have 8 cores / processors to utilize. When you assign a VM to use 4 vCPU's then it is essentially giving them access to use 4 cores whenever it needs to process an instruction set through the CPU. The problem comes with the scheduling, because to do a simple CPU instruction set, the VM with 4 vCPU's assigned to it needs to wait until there are 4 "free / non-used" cores to be available before it can process it. Even it if it is the smallest thing, it has to wait for those 4 to be open. If you want the analogy of what I gave to my boss's it is below which gives a more picture like view of the scheduling (hopefully its right :smileygrin: )

"CPU’s are probably the hardest resource to break free from the physical ideals and embrace the virtual concepts. Typically on a physical server, the more resources and CPUs you throw at it usually turned out to mean better performance for whatever was on that server. In a virtual environment for the most part it is the exact opposite where less is usually more. This is due to the way ESX schedules CPU usage. When a virtual machine has 1 vCPU assigned to it, when it needs to send an instruction set to the physical CPU it only requires 1 processor / core to be free. When a virtual machine has 2 vCPU’s, then it requires 2 processors / cores to be free at the same time and so on with 4 vCPU’s.

When you have virtual machines that are over allocated with virtual CPUs, it can slow down not only the virtual machine that is over allocated but other virtual machines residing on the same ESX host. This is called CPU contention. The best way I have found to explain this is to think of physical cores as lanes on a highway. For this example if you have a single quad-core processor, meaning you have 4 cores to process instruction sets, then you would have 4 lanes on your highway. A car with 1 vCPU assigned would take up 1 lane, a car with 2 vCPUs would take up 2, etc… So if you had two cars with 1 vCPU and two cars with 2 vCPUs trying to go down the highway at once you wouldn’t have enough lanes to allow everyone through at the same time. Either the two cars with 2 vCPUs could go through at the same time and the two cars with 1 vCPU waited for them to finish, or many other different combination's of who gets to go through first. When a virtual machine has to wait for processors to become available this is called Ready Time which is measured in %.

Obviously a virtual machine with only 1 vCPU assigned to it will be able to move their instruction sets through the processors because it only has to have one physical core available compared to a virtual machine with 2 vCPUs where it has to wait for two physical cores to free up at the same time."

  • Kyle

-- Kyle "RParker wrote: I guess I was wrong, everything CAN be virtualized "
ssecuro
Contributor
Contributor

okay, now I understand the point you want to reach, but my question because I do not point to the sample proc 8 if esxi recognized. attached file

0 Kudos
ranjitcool
Hot Shot
Hot Shot

Crap.. ok whats your address Mr. Hughes, I am mailing a 24 pack budlight or 2 bottles of jack daniels which ever comes first (yes yes scheduling here too :smileygrin:) lol

Thanks for the detailed explanation, I never knew that it was such.

I have another q, as per your explanation, when the esx host is fully loaded and fired up, even for the simplest instruction that will need 1 processor, the vm waits for 4 processors to be free? just reconfirming this fact.

Also i already have a server running on 4 vm cpus, (whats the terminology to say vm cpus, virutal cpus?) so if i reduce it ,esx says it might make my OS unstable (win 2003 64bit) what do u suggest?

Thanks

RJ

May be we all live virtual lives..

Please award points if you find my answers helpful Thanks RJ Visit www.rjapproves.com
0 Kudos
ranjitcool
Hot Shot
Hot Shot

Mr Hughes,

Then when is the right time and need or when to assign 2 or 4 processors?

Also if we do ever need more than 1 vcpu then what steps to take to ensure no cpu contention occurs.

Beer is coming have tea until then 😛

Thanks

RJ

May be we all live virtual lives..

Please award points if you find my answers helpful Thanks RJ Visit www.rjapproves.com
0 Kudos
RParker
Immortal
Immortal

Crap.. ok whats your address Mr. Hughes, I am mailing a 24 pack budlight or 2 bottles of jack daniels which ever comes first (yes yes scheduling here too :smileygrin:) lol

Mr. Hughes doesn't need any help in this regard, he qualifies for discounts at all his local liquor stores, because he buys in such volume. Bars come to him for his 'spares' when they need more alcohol. Cinco de mayo was made possible because Mr Hughes had the party at his house Smiley Happy

0 Kudos
ranjitcool
Hot Shot
Hot Shot

Lol.. I bet he is tipsy now as he works on his esx hosts lol.. typing init 0 on esx console is not cool .. lol.. kidding..

Expecting a generous reply Mr. Hughes for my queries.

Thanks

RJ

May be we all live virtual lives..

Please award points if you find my answers helpful Thanks RJ Visit www.rjapproves.com
0 Kudos
khughes
Virtuoso
Virtuoso

Sorry but I'm not quite sure what you're trying to show me from this attached screen shot. This is just the health check ESX is performning on your ESX host. It displays if there are any errors or hardware faults in your system, not really showing the hardware you own.

As for the other questions:

I have another q, as per your explanation, when the esx host is fully loaded and fired up, even for the simplest instruction that will need 1 processor, the vm waits for 4 processors to be free? just reconfirming this fact. -- That is my understanding and believe to be true, Richard / Troy want to back me up on this one?

Also i already have a server running on 4 vm cpus, (whats the terminology to say vm cpus, virutal cpus?) so if i reduce it ,esx says it might make my OS unstable (win 2003 64bit) what do u suggest? -- You can call them whatever you like, most commonly referred to as "vCPU's" short for virtual cpu. That is a possibility, but the great thing about VMware is the use of snapshots. You should always use snapshots when doing major changes like that to a VM. Reducing it from 4 to 2 shouldn't be that damaging to the VM since it will still use the same multi-processor HAL, once you go from 2 to 1 it gets a little trickier. Like what was said in an earlier post, it is usually easier to expand up (add more resources) than cut back. I'm in the process of trying to shave down over allocated VM's in my own network right now. We had a FTP server with 2 vCPU's and 2GB of RAM assigned to it, while it was utilizing maybe 200MB of RAM and avg of 80MHz (yes MHz).

Then when is the right time and need or when to assign 2 or 4 processors? -- This is something you will have to figure out on your own. If your VM is maxing out the resources you assigned to it then you should look at giving it another vCPU or more RAM. I would say that 90% of normal servers would only really need 1 vCPU. Also you should find out if the software that is going to be running on the server can utilize multiple processors effectively. My best example of this is Citrix Presentation Servers. They can effectively utilize multiple CPU's.

Also if we do ever need more than 1 vcpu then what steps to take to ensure no cpu contention occurs. -- There are tools that are built into ESX such as esxtop which will show you performance stats. You can keep an eye on the CPU Ready%. The higher the number on that stat the more CPU contention you have. Normally you'll be down in the low 1-5% which is normal but if you start getting into double digits often it is time to start looking for a solution. Remember that the biggest selling point of VMware is being able to run multiple servers on a single piece of hardware so there is always a little jockeying for resources but 99% of the time you don't even realize it. My personal favorite to ensure that you don't run into CPU contention is common sense, obviously if you load a single host down with all your multiple vCPU VM's then you're going to have some issues.

Hopefully that answered most of your questions. And for the record I'm not a drunkard like Richard paints me out to be. Yet again how many times do I have to remind him what happens in Vegas stays in Vegas....

Kyle

-- Kyle "RParker wrote: I guess I was wrong, everything CAN be virtualized "
0 Kudos
ranjitcool
Hot Shot
Hot Shot

That sure did Kyle, thanks a lot for the detailed explanation.

esxtop - how do i access it ? use it ? does it come with esx host 3.5i? Any other tools you recommend?

Also when I take a snapshot does it store it on the datastore or in the vm's vmdk file ? (as in vm's induvidual virtual harddisk)?

No no I know you are not drunkybut usually I have very high my brain cpu contention over the weekend after a bunch of drinks 😛

May be we all live virtual lives..

Please award points if you find my answers helpful Thanks RJ Visit www.rjapproves.com
0 Kudos