Solved

Vmware 4.1 Consuming Configured Memory

Posted on 2012-04-06
18
975 Views
Last Modified: 2012-06-27
I have a VMware ESX 4.1 server running with 16 GB of RAM, 4 virtual machines of which 3 of them are configured for 4 GB RAM each.  They are not using all of the memory, however VMware has still allocated all of the memory for the Virtual Machine, rather than dynamically allocating memory as it's needed.

As you can see with the screenshot, the Host Memory consumed is the same as the VM allocated memory

Memory Consumption
How can I get it to only use memory on demand?

VMware 4.1 ESX
No VCenter Server Involved.
0
Comment
Question by:LesterClayton
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 8
18 Comments
 
LVL 121
ID: 37815835
what does the summary for the Host Memory look like.

Although you have allocated 3x4GB, total 12GB that will only be used when all VMs use it, vSphere does not support Dynamic Memory like HyperV, but does support overcommitting of memory.

using memory you not physically have.
0
 
LVL 30

Expert Comment

by:IanTh
ID: 37818768
also the esx host will use some memory
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37818842
I appreciate the input, I will provide some more detail and screenshots as I am able
0
Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

 
LVL 18

Author Comment

by:LesterClayton
ID: 37819788
As you can see, the memory usage is 13 GB,

Memory Usage
And it seems to be as a result of the virtual machines using up all the allocated memory.

Host Memory
I was under the impression that VMware only allocated the consumed memory from the guests
0
 
LVL 121
ID: 37819826
from those stats, actual memory consumed from host is 13GB

each guest is actually using 4121GB each.

check the Active memory figure per guest.
0
 
LVL 121
ID: 37819837
have you made any Guest Memory Reservations, as the Guest Memory usage is very low, but the memory looks like its been reserved which then Guarantees the memory, eg its taken from the host pool, and is always guaranteed to be available.
0
 
LVL 121
ID: 37819844
how have the virtual machine settings been configured, three of the VMs compared to the pFsense Router
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37819933
The pFsense router has been configured to use 256 MB Memory, and according to the Resource Allocation Screen (Shown below) it's consumed 272 MB.

pfSense Router
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37819940
Sorry I missed your other question.  It looks like I'm not using any memory reservation (0 MB), and here is another server to compare with.

4 GB Server
0
 
LVL 121
ID: 37820020
have you installed VMware Tools in the VM?

Check VM settings options memory.
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37820037
Yes, VMware tools are installed, first thing I checked.  I probably should have mentioned it.

General
As you can see the Windows box is not using all the 4 GB memory.

Task Manager
0
 
LVL 121
ID: 37820059
At one point, your VMs, must have requested this much memory, and these are the high water mark values, still in use, that will be released if other VMs require the memory, by using the Balloon Driver in VMware Tools.

memory
See screenshot, this is a Windows 2008 R2 64bit DC, allocated 4GB, Guest Using 40MB, but current usage from host is 902MB, because that was requested, and current Host memory pressure is okay.
0
 
LVL 121
ID: 37820072
also this white paper, may answer you questions

http://www.vmware.com/files/pdf/perf-vsphere-memory_management.pdf
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37820073
If I restarted the virtual severs, should their memory payload be lower?  Because this does not happen.  You can see that the Windows server I posted has been up for 1 day and 18 hours, yet it is "consuming" 4 GB RAM.
0
 
LVL 121

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE^2) earned 500 total points
ID: 37820081
The host consumed memory shows what has been allocated to the VM.  Currently your host memory is not overcommited therefore the VMware vSphere Hypervisor has no reason to allocate less memory.  If you existing VMs, spiked because of activivity within the VMs, the guests would not need to request more memory.

Also, if you know, your VMs do not require 4GB, each, reduce the amount you have allocated.

If you were to create new VMs, and start them, they would request memory from the other VMs, so the values would drop.

Because you have allocated the VM, 4GB of memory, so VMware has allocated 4GB+Memory overhead from the host.

ONLY, under memory pressure, will it start toi relcaim memory from other VMs.
0
 
LVL 18

Author Comment

by:LesterClayton
ID: 37820114
I'll accept your last statement, as it's proven to be true with testing.  Thank you.  Here you can see the memory usage on the 3 other machines have dropped down the moment I requested more memory for a new virtual machine.

Memory Usage Now
0
 
LVL 18

Author Closing Comment

by:LesterClayton
ID: 37820117
Thanks for your patience and explanation.  I am ashamed becuase I am VCP 3 and 4 and should have realised this myself.  I blame my superiors for forcing me to use an inferior product - Hyper-V :(
0
 
LVL 121
ID: 37820141
Yes, that's Memory Reclaim and Balloon Driver in action.

No problems, often worth bouncing ideas off a fresh "head"!

it's often confusing working with different vendor hypervisors, but both are good products.
0

Featured Post

Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If we need to check who deleted a Virtual Machine from our vCenter. Looking this task in logs can be painful and spend lot of time, so the best way to check this is in the vCenter DB. Just connect to vCenter DB(default DB should be VCDB and using…
Giving access to ESXi shell console is always an issue for IT departments to other Teams, or Projects. We need to find a way so that teams can use ESXTOP for their POCs, or tests without giving them the access to ESXi host shell console with a root …
Teach the user how to use configure the vCenter Server storage filters Open vSphere Web Client:  Navigate to vCenter Server Advanced Settings: Add the four vCenter Server storage filters: Review the advanced settings: Modify the values of the four v…
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question