VMware Cloud Community
engyaz
Contributor
Contributor
Jump to solution

virtual machine default ressource allocation

hi all,

i have a vmware host with 64GB Ram and 12x2.799GHZ cpu cores with 12 VCPU as multithreading is not active

when i create a virtual machine with default settings (there is no reservation or limitation)

1) in the ressource allocation tab of the virtual machine i see 4167 MB for Host memory and 4096MB for guest memory

     -why the host memory is only about 4 GB while i have 64 GB of physical memory which is shown on the summary tab of the host

      - when i create a virtual machine with default settings it should be able to use all available ressources am i wrong? so in my case it should be able to use 64 GB of ram

2) with default settings the VM has only 1 VCPU

- does that mean that the VM will be maximum able to use the speed of 1 VCPU? for example if my vm has a lot of works and it may need to use 3GHZ so i will need to add to the vm another vcpu? as the speed of one vcpu is 2,8 Ghz am i wrong?

- if i enable multithreading i will have 24 VCPU

   the speed of each vcpu will be (2.799 / 2)?  as without multithreading enabled i have 12 vcpu each of 2.799 GHZ

please clarify it for me

0 Kudos
1 Solution

Accepted Solutions
frankdenneman
Expert
Expert
Jump to solution

Hi,

You asked a couple of questions, so the questions will be answered inline

) in the ressource allocation tab of the virtual machine i see 4167 MB for Host memory and 4096MB for guest memory

So I assume you created a virtual machine with 4GB of memory (default windows 2008 64-bit R2 virtual machine settings). Therefor the resource allocation tab shows you 4GB (4096MB) for guest memory. The virtual machine acts as a container, providing a configured set to the programs and OS running inside the virtual machine. So the kernel memory scheduler shows thats 4096MB is availble for this guest.

Now the kernel need to use some memory to run the virtual machine, that's called memory overhead reservation and thats in your case 71 MB, therefor the memory footprint of this virtual machine in the VMkernel (Host Memory) is 4096+71MB=4167MB

     -why the host memory is only about 4 GB while i have 64 GB of physical memory which is shown on the summary tab of the host

This is because you provided the virtual machine 4GB, thats the "use-space" for the virtual machine guest OS to run in. It cannot expand beyond the virtual machine boundary.

       - when i create a virtual machine with default settings it should be  able to use all available ressources am i wrong? so in my case it should  be able to use 64 GB of ram

If there is no contention, where the demand of resources is lower than the supply of resources, than the memory scheduler is going to provide the virtual machine the resources it demands, and that can go up to the 4096MB, as this is the container limit.

2) with default settings the VM has only 1 VCPU

- does that  mean that the VM will be maximum able to use the speed of 1 VCPU? for  example if my vm has a lot of works and it may need to use 3GHZ so i  will need to add to the vm another vcpu? as the speed of one vcpu is 2,8  Ghz am i wrong?

A vCPU runs on a physical core and cannot expand beyond that, therefor if you need to have more cpu cycles availble for your virtual machine, you need to configure the virtual machine with more than 1 vCPU.

- if i enable multithreading i will have 24 VCPU

   the speed of each vcpu will be (2.799 / 2)?  as without multithreading enabled i have 12 vcpu each of 2.799 GHZ

A vCPU can be scheduled on a complete physical core or on a hyperthreading element (SMT), this is done by the VMkernel CPU scheduler. This is completely transparent to the virtual machine.

Remember that the default settings are just recommendations, they are not strict guidelines.

Blogging: frankdenneman.nl Twitter: @frankdenneman Co-author: vSphere 4.1 HA and DRS technical Deepdive, vSphere 5x Clustering Deepdive series

View solution in original post

0 Kudos
3 Replies
frankdenneman
Expert
Expert
Jump to solution

Hi,

You asked a couple of questions, so the questions will be answered inline

) in the ressource allocation tab of the virtual machine i see 4167 MB for Host memory and 4096MB for guest memory

So I assume you created a virtual machine with 4GB of memory (default windows 2008 64-bit R2 virtual machine settings). Therefor the resource allocation tab shows you 4GB (4096MB) for guest memory. The virtual machine acts as a container, providing a configured set to the programs and OS running inside the virtual machine. So the kernel memory scheduler shows thats 4096MB is availble for this guest.

Now the kernel need to use some memory to run the virtual machine, that's called memory overhead reservation and thats in your case 71 MB, therefor the memory footprint of this virtual machine in the VMkernel (Host Memory) is 4096+71MB=4167MB

     -why the host memory is only about 4 GB while i have 64 GB of physical memory which is shown on the summary tab of the host

This is because you provided the virtual machine 4GB, thats the "use-space" for the virtual machine guest OS to run in. It cannot expand beyond the virtual machine boundary.

       - when i create a virtual machine with default settings it should be  able to use all available ressources am i wrong? so in my case it should  be able to use 64 GB of ram

If there is no contention, where the demand of resources is lower than the supply of resources, than the memory scheduler is going to provide the virtual machine the resources it demands, and that can go up to the 4096MB, as this is the container limit.

2) with default settings the VM has only 1 VCPU

- does that  mean that the VM will be maximum able to use the speed of 1 VCPU? for  example if my vm has a lot of works and it may need to use 3GHZ so i  will need to add to the vm another vcpu? as the speed of one vcpu is 2,8  Ghz am i wrong?

A vCPU runs on a physical core and cannot expand beyond that, therefor if you need to have more cpu cycles availble for your virtual machine, you need to configure the virtual machine with more than 1 vCPU.

- if i enable multithreading i will have 24 VCPU

   the speed of each vcpu will be (2.799 / 2)?  as without multithreading enabled i have 12 vcpu each of 2.799 GHZ

A vCPU can be scheduled on a complete physical core or on a hyperthreading element (SMT), this is done by the VMkernel CPU scheduler. This is completely transparent to the virtual machine.

Remember that the default settings are just recommendations, they are not strict guidelines.

Blogging: frankdenneman.nl Twitter: @frankdenneman Co-author: vSphere 4.1 HA and DRS technical Deepdive, vSphere 5x Clustering Deepdive series
0 Kudos
engyaz
Contributor
Contributor
Jump to solution

hi

thanks a lot for your clarifications i wonder if you can make more clear to me the following

-why the host memory is only about 4 GB while i have 64 GB of physical memory which is shown on the summary tab of the host

This  is because you provided the virtual machine 4GB, thats the "use-space"  for the virtual machine guest OS to run in. It cannot expand beyond the  virtual machine boundary.

so if i crate a virtual machine (wndows 2008 R2 64 bit where the default settings is 4gb ram as you told me) and i set a limt of 64GB The VM will be able to use RAM till 64 GB or it will still using only 4GB?

thanks in advance

0 Kudos
frankdenneman
Expert
Expert
Jump to solution

so if i crate a virtual machine (wndows 2008 R2 64 bit where the default settings is 4gb ram as you told me) and i set a limt of 64GB The VM will be able to use RAM till 64 GB or it will still using only 4GB?

It will still be using a max of 4GB as this is the maximum number of memory the virtual machine can allocate. Setting a limit of a virtual machine that is higher than the configured memory does not impact the guest os inside the virtual machine. This limit indicated how much the virtual machine can be allocted. So this becomes more or less a limit for future changes. In your example, it doesn't make any sense to set it above the 4GB. Leave the limit set to unlimited.

Blogging: frankdenneman.nl Twitter: @frankdenneman Co-author: vSphere 4.1 HA and DRS technical Deepdive, vSphere 5x Clustering Deepdive series
0 Kudos