Hot answers tagged

18

A single physical CPU can be utilized as many vCPUs. You rarely run out of CPU resources in virtualization solutions. RAM and storage are always the limiting factors... Remember, in VMware, CPU utilization is represented in MHz used, not cores... Unless you're pegging all of your virtual CPUs at 100% ALL OF THE TIME, I don't think your vendor is correct. ...


9

Those two stats you mention are different; it's 8 virtualised CPUs per VM and 2 physical CPU sockets that they're talking about - not the same thing. BTW if you're going with the free version have a look at THIS great new ESXi add-in that gives you a vCenter-like interface into your host via a web client - it's really new and really useful :)


8

Hyper-V presents one socket with multiple cores. You can verify this with a tool such as CPU-Z. Here's a screenshot I took of a 2-vCPU Hyper-V guest I have: For what it's worth, VMWare ESXi permits you to choose your mix of sockets/cores vCPUs. I am not a lawyer, so stop reading now Installing SQL Express on a machine that violates the license simply ...


8

What this means is that you'll never have more than 8 threads executing in parallel in your virtual machine. However, through the magic of ESX resource allocation you can give those threads quite a bit of horsepower. You're not limited to the max-rate of your actual CPUs, ESX's CPU load-balancing methods will permit running faster than that... so long as ...


8

Free version Hypervisor (Esxi) Version 6.0 2 (physical) CPU limit No Ram limit (removed since 5.5) Hypervisor Spec Number of cores per physical CPU: No limit Number of physical CPUs per host: No limit Number of logical CPUs per host: 480 Maximum vCPUs per virtual machine: 8 http://www.vmware.com/ap/products/vsphere-hypervisor/gettingstarted.html


7

Set the lowest number of vCPUs your servers need to perform their function, don't over-allocate them or you could easily slow down your VMs.


7

I doubt you will find information about the algorithms in use. VMware likely considers their CPU scheduler as a trade secret (though I may be wrong here). At a high level, a vCPU is an abstract construct that appears to the guest as a CPU core. The VMware CPU scheduler then takes data that needs to be executed from a vCPU and executes it on a physical CPU ...


6

To expand on ewwhite's write-up, unless you have applications which can explicitly take advantage of multiple vCPUs, or multiple cores per vCPU there is absolutely zero benefit in allocating multiple vCPUs/cores to a VM. In fact, more often than not you will actually end up with lower performance as opposed to running on a single vCPU that has one core ...


6

Can VMware ESXi handle multiple vCPUs better than VMware Server 1 could over three years ago? Yes, they're totally seperate product lines, and ESXi can handle multiple vCPUs very well. I'm running a 5 node vmware farm right now with a mix of machines on each box, each with 1, 2 and in some cases 4 processors as needed and it works very well indeed. Which ...


6

The term "sockets" for a VM is exactly the same as a "socket" in a physical server, and the number of "cores" is per-socket, rather than total - indeed in later vSphere versions, this has been clarified in the VM settings UI: A lot of in-depth discussion about cores vs sockets (and the effect on performance), is in this VMware blog post, specifically: ...


5

XenServer supports more than 8 virtual CPUs in a guest, but the XenCenter GUI interface imposes a hard limit of 8. If you want to use more than 8 VCPUs for a guest, you must do so via the 'xe' command line: xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16 xe vm-param-set uuid=your_vms_uuid VCPUs-max=16 To find 'your_vms_uuid', you can use: xe vm-...


4

You can use the PowerCLI command to set the number of CPUs on a VM: Get-VM <VM Name> | Set-VM -numCPU 2


4

Start with the minimum system requirements for RAM and CPU for the OS and applications and go from there. You can add vCPU's and RAM if needed. http://technet.microsoft.com/en-us/library/dd379511(v=ws.10).aspx http://technet.microsoft.com/en-us/windowsserver/bb414778 http://technet.microsoft.com/en-us/library/ms143506(v=sql.100).aspx http://msdn....


4

Typically, HT works well on workloads that are heavier on IO -- the CPU can schedule in more processing tasks from the queue of the other virtual CPU while the first virtual CPU waits on the IO. Really all the HT subsystems get you is hardware-accelerated context switching -- which is the workload pattern that's also used when switching between VMs. So, HT ...


4

No, you cannot. VMware only supports a single core on a FT VM. This site has a good reference. That said, VMware FT has a whole host of limitations. You'd be better off utilizing your application/OS failover methods.


4

No, it doesn't work like that. Among the reasons is that for a single thread, you can never get more than the 2 GHz clock speed one single core offers and virtualization is no trick around this fundamental restriction.


3

Sure. vSphere has configurable alarms you can use. Without rehashing their already excellent guide, see this article on VMware for details on how to configure it.


3

If the VM is running a "cpu killer" application that keeps demanding more and more cpu cycles, could the VM end up fully consuming all the 4 underlying physical cores at any given moment in time? No. So, in my example, since there are no other VMs running, VMware will schedule the VM to run on one physical core, When that physical core is 100% ...


3

I would try reduce the number of assigned CPUs for that VM, go as low as 4 then 8 and compare your results. I've seen this on many virtual systems, the assignment of a large number of virtual cores reduces the actual cpu availability. My only assumption here is that hosts expect a higher number of guests with smaller CPU assignments versus 1 or 2 hosts.


3

When Windows installed selects the HAL library appropriate the the hardware your installing on. If you install XP on a single CPU system then the uniprocessor HAL is selected. If you then add a second vcpu to the guest then the windows HAL won't see it. You'll need to replace Window's hal or try re-installing the guest.


3

vSphere 4.0 has a hard limit of 8 vCPUs. That's all it will use, and it's a fairly sensible limit. vSphere is more designed to handle many guest VMs on a host, rather than just a couple. You may want to see if you can cluster 3-6 VMs instead of just doing 2.


3

I can tackle this question in a number of ways, but I'll start of with horizontal vs. vertical scaling. Horizonal scaling Pros Can scale very large Can scale across hosts (ie a vmware cluster) Fault tolerant Low/No downtime during maintenance Cons More overhead from VM OSes and Load Balancers More maintenance/management (...


3

This is rather tricky. Depending on the loads, HT can increase performance by ~30% or decrease it. Normally I advise not to allocate more vCPUs than you have physical cores, to a single VM, but if the VM is rather idle (and of course, such a VM will not really require too many CPUs), it can be given up to as many vCPUs as you have threads. You don't really ...


3

I found this post to be a great summary of vCPU assignment and resource consumption on VMware (and to a lesser extent, HyperV). I wouldn't assign more than 6 of the 8 available cores; if you are needing more resources than that you should either move to a quad-processor server (or one with a bigger number of cores / pCPU), or as @ewwhite suggested, nix ...


3

You may be overthinking this. The manual assignment of cores here could actually result in lower performance. In the VMware world, we don't do this unless there are very specific requirements, but for the workload and applications you've described, it's not necessary. Let KVM schedule things and be done. If in doubt, get more cores and sockets. But CPU isn'...


3

It's perfectly possible; pretty much anything can be specified in a Service Level Agreement (SLA). Since your provider is a smaller one, I would say you have a somewhat better chance of getting this into your contract than with a larger provider. However, some caveats: A meaningful SLA specifies a) what will be provided, b) how it will be measured, and c)...


3

Your vendor is selling you a simple story to explain something that can be complicated, but theirs is a bit off. For starters: Hyper Threading does not give you extra cores, it just abstracts task switching away from the operating system and does it on-chip. This gives the appearance of multiple threads to the operating system, so that it can allocate tasks ...


2

I think to elaborate on Chopper3's answer: if the systems are mostly cpu-idle, don't assign a bunch of vcpu, if they are cpu-intense, be very careful to not overallocate. You should be able to allocate a total of 8 vCPU without contention. You can overallocate, but if you do, make sure no single guest, especially a CPU-intensive guest, has 8 vcpu, or you ...


2

You can use both CPU pining: http://panoskrt.wordpress.com/2009/02/02/pin-cpu-cores-to-specific-xen-domu-guest/ And the CreditScheduler: http://wiki.xensource.com/xenwiki/CreditScheduler The CPU pining will assign real CPUs to specific virtual machines while the CreditScheduler allows you to limit CPU usage by the virtual machines.


2

Yes, you can configure and run more virtual CPUs than physical cores available. This is an idle Windows Server 2008 (x86, German) KVM guest showing 10 CPUs on a 4-core single-CPU Intel X3210 machine: But you only should do so when you know, what you are doing: For one, this will be accompanied by the overhead of timing / synchronizing more virtual CPUs ...



Only top voted, non community-wiki answers of a minimum length are eligible