VMware Cloud Community
klaus1013
Contributor
Contributor
Jump to solution

Difference Between Task Manager Memory and Guest Memory

I'm still getting to grips with ESX after installing it for the first time a few months ago. However, I think I've got my head around most of it, but I have a question about memory usage. Via these forums I've discovered the difference between Host Memory Usage and Guest Memory Usage. We run a copy of SBS 2003 and I have assigned 1Gb of RAM to the VM, the Host Memory Usage is at 967Mb and the Guest Memory Usage is at 194MB. However, Task Manager in the VM shows that is using more than 1Gb of memory currently. I thought the Guest Memory Usage and what is displayed in Task Manager should be the same.

I'm wondering if the issue is to do with Exchange, which will always grab a big chunk of memory, but not necessaryily use it all. However Exchange has grabbed 295Mb of memory, which still doesn't add up when you compare the amount being used in Task Manager and Guest Memory.

The VM is using all it's assigned memory at the moment so I do need to increase it to stop paging, but I thought I'd try and answer this query first.

Many TIA.

Klaus

0 Kudos
1 Solution

Accepted Solutions
oreeh
Immortal
Immortal
Jump to solution

From what I've read here I understood that the Guest Memory Usage was the ammount of memory the VM was using out of it's assigned memory - the Host Memory Usage. Have I mis-understood this?

Because this is where the conflict is for me, Windows says it is using it's full quota of 102Mb of memory, where-as ESX says it's only using 153Mb.

The Guest Memory Usage is the amount of memory actively used in the VM at a given point in time.

If for example you boot a W2K3 VM you will see a very high Guest Memory Usage due to the zeroing of the memory during the boot process.

After the boot process the Guest Memory Usage decreases since the zeroed memory isn't used (anymore).

The Host Memory Usage is the amount of memory assigned to the VM (not necessarily actively used) plus the virtualization overhead.

Therefore Windows and ESX are both correct Smiley Happy

Windows sees 1024MB of memory as usable and tells you so - ESX tells you which amount of this memory currently is used (=accessed from the CPU) in the VM.

View solution in original post

0 Kudos
8 Replies
oreeh
Immortal
Immortal
Jump to solution

Guest Memory Usage is the amount of memory actively used in the VM not the total amount of memory in the VM.

0 Kudos
klaus1013
Contributor
Contributor
Jump to solution

Thanks for the reply oreeh. With my Windows experience I understand the Commit Charge to be the amount of memory being used by the OS. Comparing this against the Physical Memory allows you see whether paging is occuring and therefore whether a machine could benefit from additional memory.

From what I've read here I understood that the Guest Memory Usage was the ammount of memory the VM was using out of it's assigned memory - the Host Memory Usage. Have I mis-understood this? Because this is where the conflict is for me, Windows says it is using it's full quota of 102Mb of memory, where-as ESX says it's only using 153Mb.

Thanks again.

Klaus

0 Kudos
oreeh
Immortal
Immortal
Jump to solution

From what I've read here I understood that the Guest Memory Usage was the ammount of memory the VM was using out of it's assigned memory - the Host Memory Usage. Have I mis-understood this?

Because this is where the conflict is for me, Windows says it is using it's full quota of 102Mb of memory, where-as ESX says it's only using 153Mb.

The Guest Memory Usage is the amount of memory actively used in the VM at a given point in time.

If for example you boot a W2K3 VM you will see a very high Guest Memory Usage due to the zeroing of the memory during the boot process.

After the boot process the Guest Memory Usage decreases since the zeroed memory isn't used (anymore).

The Host Memory Usage is the amount of memory assigned to the VM (not necessarily actively used) plus the virtualization overhead.

Therefore Windows and ESX are both correct Smiley Happy

Windows sees 1024MB of memory as usable and tells you so - ESX tells you which amount of this memory currently is used (=accessed from the CPU) in the VM.

0 Kudos
klaus1013
Contributor
Contributor
Jump to solution

I think I understand now, although I still think there is some discrepancy. Windows does tell how much memory it sees, but it also tells you how much is being used. I would expect this figure to be similar to that shown by Guest Memory Usage.

I'm guessing the difference is the amount of memory actively being accessed as opposed to the amount individual programs have reserved in the OS.

Klaus

0 Kudos
daniel_uk
Hot Shot
Hot Shot
Jump to solution

You are right and it is kind of mind blowing when you realise what's going on. I look at it similar to a car doing 70MPH but you are not pressing the accelerator and using Petrol.

This is why ESX is so good at hosting enterprise applications because of the memory management and flexible memory management between VM's.

Dan

klaus1013
Contributor
Contributor
Jump to solution

Thanks for confirming that Dan.

Klaus

0 Kudos
oreeh
Immortal
Immortal
Jump to solution

I look at it similar to a car doing 70MPH but you are not pressing the accelerator and using Petrol.

Nice one :smileygrin:

0 Kudos
klaus1013
Contributor
Contributor
Jump to solution

I think I understand now, although I still think there is some descrepency. Windows does tell how much memory it sees, but it also tells you how much is being used. I would expect this figure to be similar to that shown by Guest Memory Usage.

I'm guessing the difference is the amount of memory actively being accessed as opposed to the amount individual programs have reserved in the OS.

Klaus

Message was edited by: oreeh

removed the phone numbers and email address

Oliver Reeh

VMware Communities User Moderator

0 Kudos