VMware Cloud Community
SCA12345
Contributor
Contributor

Ram usage inside a VM is 2.5 Time More than Outside the VM

Brand new install of esxi and vsphere.

32 Cores - 64 Threads

126GB of Ram

Created a series of VM's running Win 10 x64 Pro

Running a GUI database program.

Importing of a given CSV data file into the windows based database program uses roughly 15.5GB of Ram (peak) when run on a windows desktop install, but ~40GB of Ram peak, when running on Win 10 VM inside esxi?

Consistently these numbers

Why is same windows program needing 2.5 time the amount of ram to perform the identical process inside esxi from outside?

If I limit the Ram to ? 4GB, 8GB, 16GB, 20Gb, 30Gb  - basically anything less than it "needs" as the upper watermark of Ram it uses, ~40GB, it crashes the program inside the win VM

Appreciate your help.

Reply
0 Kudos
7 Replies
sjesse
Leadership
Leadership

ARe you comparing inside the vm to a physical both looking at task manager?

Reply
0 Kudos
SCA12345
Contributor
Contributor

Yes, looking at Task Manager inside the VM

Reply
0 Kudos
SCA12345
Contributor
Contributor

Also, kept increasing the Ran Setting for the VM until it stopped crashing and found I needed to set it to 40GB of Ram.

And then saw, in the Task manager, inside the VM, that Ram Usage is peaking at about 38 or 39GB

Then when the program completes the most intensive part of it's operation, the Ram usage in TM reduces.

Reply
0 Kudos
SCA12345
Contributor
Contributor

I have run this win based applications for years on a straight win desktop install, and for a few months on Oracle virtualbox VM's

Both of those run fine set to 8GB (slow because of the restriction) and 16GB (faster)

Reply
0 Kudos
sjesse
Leadership
Leadership

Are you looking at the process the application spawns, or just the total? If its the process I have no explanation, you may want to ask the vendor  of that app.

If its the total, are you oversubscribing the memory on the ESXi host, if all of the memory is being used the vmtools ballon drive may inflate trying to save memory. Putting limits on memory while its an option, is usually a bad idea, once the vm requests that memory it goes directly to disk which is bad in most situations. Generally if you have a bunch of vms, that all use the memory somewhat heavy, you can't use more memory then the host has availabile. The only time that really works if alot of vms are idle

Reply
0 Kudos
SCA12345
Contributor
Contributor

Hi

First, thanks for your help with this and your time.

I am new to esxi. I have just increased the machine to 256GB of Ram.

Let's say I want to run 20 VM's.

That would be approximately 12GB/VM.

But, for what ever odd reason, when I set the allocated memory at the VM level to low amounts (8GB, 10GB, 14Gb, 18Gb, 30GB, etc), I would watch the memory utilization on TM inside the Win VM climb steadily, and when it would hit 100% of the memory allocated to the VM, the application within Windows (within the VM) would crashed.

Should I be setting each VM to 12GB or to ? 256GB. Or should I be creating a reservation amount?

What I am seeing, when I set the VM to 40GB of Memory, is that the Task Manager in windows, inside a given VM, reports Memory usage of ~38Gb or 39GB, even though the usage by this windows program is something like 12GB and I CANNOT see anything listed in TM Process/Applicaiton list that would remotely add up to another 26 GB in use?

Appreciate your guidance as to how to set this up.

Reply
0 Kudos
SCA12345
Contributor
Contributor

Bump

Reply
0 Kudos