Tag Info

Hot answers tagged

13

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. ...


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 ...


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

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: ...


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 ...


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

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 ...


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 ...


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.


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.


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

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

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

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 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

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

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 ...


3

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 ...


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.


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 ...


2

As I see it, there are basically two possibilities: 1) Your VM needs 8 CPUs. In that case I wouldn't deploy it on a machine with 8 physical cores. Well, if your CPUs have HT we're talking about 16 virtual Cores. Depending on your workload this might work but I probably wouldn't risk it. 2) Your VM doesn't need 8 CPUs... so why give it so many?


2

...fortunately the process is pretty straightforward. Prerequisites/preparation In order to increase cpu count during runtime you need to configure the VM to have a "maximum" vcpu count and a lower "current" cpu count. An example xml extract (modify using virsh edit ): <vcpu placement='static' current='4'>16</vcpu> Perform the increase ...


2

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 ...


2

Depends totally how much the CPU is used. Basically there is no real limit. Oversubscribing by a factor of 16 MAY be ok IF your virtual machines are "crappy enough". If you go for example for a low end web hoster and every VM hosts 1-3 small business sites, man, the CPU is going to be bored. OTOH I have a database virtual server here using 8 of 8 cpu cores ...


1

Virtualization is used to share hardware resources between virtual host that can't/don't use efficiently these resources. Using virtualization often means to loss between 5 to 10% of hardware resources due to virtualization overhead. You are nearly using all available resource with just one VM. I think you want high availability for your application, ...


1

Yes there is. There are already a slew of built-in alarms in vCenter. You can edit the alarms at the parent level and add a number of actions.


1

The underlying problem is basically the same as with process-scheduling on a physical system. As long as the system load is below the number of cores (or even logical processors, in case of HyperThreading) all is well and the processors can handle the load. So as long as the concurrent load on all used vCPUs does not exceed the load that can be handled by ...



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