VMware Cloud Community
thunderbirds
Contributor
Contributor
Jump to solution

4GB RAM allocated to VM but OS only aware of 3GB

Hi All,

I have a new installation of ESX4i on a HP DL380 G5 with 17GB of RAM and 2 x Quad core CPU's.

I have 8 VM's installed with various operating systems (Ubuntu, FreeBSD, Windows XP, Windows Server 2003 and Windows Server 2008 64bit) and the VM's have been allocated 12.5GB of RAM in total. I have an issue with one Windows 2003 server (32bit) VM which is allocated 4Gb of RAM in ESXi but the OS is only aware of 3GB. It is running Citrix Presentation Server 4.5. I have one other VM on that host with 4GB allocated but that one is aware of the whole 4GB - although it is a Windows 2008 64bit VM.

The boot.ini file is below:

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Standard" /noexecute=optout /fastdetect

Does anyone have any idea how I force the VM to see the whole 4GB?

Thanks.

Regards, Thunderbirds.

Tags (2)
Reply
0 Kudos
1 Solution

Accepted Solutions
Marcj1
Enthusiast
Enthusiast
Jump to solution

You need to add the /PAE (that is a forward slash at the beginning) switch to your boot.ini after /fastdetect for a 32-bit Windows OS to see more than about 3.5 GB of RAM.

View solution in original post

Reply
0 Kudos
20 Replies
AndreTheGiant
Immortal
Immortal
Jump to solution

You can use /3GB switch, but with a 32 bit system you cannot see (on a single process) all the 4GB.

You have to use a x64 version of the guest OS.

Andre

Andrew | http://about.me/amauro | http://vinfrastructure.it/ | @Andrea_Mauro
Reply
0 Kudos
thunderbirds
Contributor
Contributor
Jump to solution

Hi Andre,

The server as a whole does not see the 4GB (right click My computer > then Properties, it only shows 3GB)so the /3B switch is redundant unfortunately.

Regards, T

Reply
0 Kudos
fajarpri
Enthusiast
Enthusiast
Jump to solution

Andre is correct. Only 64bit OS can see more than 3GB of RAM.

The /3GB switch only applies to physical machine with supported architecture.

Reply
0 Kudos
Nikhil_Patwa
Expert
Expert
Jump to solution

Hi,

Windows Server 2003 32-bit will not detect 4GB RAM whole, only gets detected max to 3.4 G. There is a limitation in 32-bits Windows Server 2003.

You can use 64-bit OS Windows Server 2003

Regards,

Nikhil

Reply
0 Kudos
J1mbo
Virtuoso
Virtuoso
Jump to solution

This is not correct, I have 32-bit Windows 2003 Server VMs that detect and uses ALL of the 4GB (less the video RAM). Ensure DEP is enabled in the VM OS.

Please award points to any useful answer.

thunderbirds
Contributor
Contributor
Jump to solution

Hi J1mbo

Thanks for that.

DEP is turned on and there are no exceptions - so no change required there. FYI - The latest version of VMware Tools is installed and is functioning as normal.

Reply
0 Kudos
J1mbo
Virtuoso
Virtuoso
Jump to solution

Is Nx flag exposed to OS?

Please award points to any useful answer.

Reply
0 Kudos
NTurnbull
Expert
Expert
Jump to solution

Did you by any chance create the vm with 3GB and then increase it to 4 in vSphere and haven't restarted the guest?

Thanks,

Neil

Thanks, Neil
Reply
0 Kudos
thunderbirds
Contributor
Contributor
Jump to solution

Hi j1mbo,

This is what I see when I look at theflag settings. So it looks like there is no change from the default.

Reply
0 Kudos
J1mbo
Virtuoso
Virtuoso
Jump to solution

I'm out of ideas on this one. My boot.ini is identical to yours. Monitoring a 4GB VM boot from the Client, I see the RAM initially as 3072MB but it jumps up once the GUI starts.

Do you have any vm-direct-path devices assigned?

Maybe try creating a new VM and a clean install of Win2k3?

Please award points to any useful answer.

Reply
0 Kudos
prakashraj
Expert
Expert
Jump to solution

Hi,

We have VM installed win2k3 STD32 bit OS with 4 GB RAM and it shows 3.75 GB

No special settings used

Prakash

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanks!!!
Reply
0 Kudos
thunderbirds
Contributor
Contributor
Jump to solution

Hi Neil,

Thanks. There is a possibility this has happened. My colleague built the VM and I'm trying to get in touch to find out if this has happened. The last event in the log is "Reconfigured virtual machine" but there is no subsequent reboot.

I'll post the result of that conversation.

Reply
0 Kudos
Marcj1
Enthusiast
Enthusiast
Jump to solution

You need to add the /PAE (that is a forward slash at the beginning) switch to your boot.ini after /fastdetect for a 32-bit Windows OS to see more than about 3.5 GB of RAM.

Reply
0 Kudos
J1mbo
Virtuoso
Virtuoso
Jump to solution

Enabling DEP does that anyway

Please award points to any useful answer.

Reply
0 Kudos
Marcj1
Enthusiast
Enthusiast
Jump to solution

That's if his hardware supports it. If not, he needs the PAE switch. I usually disable DEP on my Citrix servers anyway because I have hit too many application compatibility issues with it turned on.

Reply
0 Kudos
thunderbirds
Contributor
Contributor
Jump to solution

Hi Neil - I should have noticed this before but we are running on ESX4i with only the most basic license which doesn't support hot add, so to change the RAM would require the Vm to be shut down. Thanks for the excellent suggestion.

Reply
0 Kudos
thunderbirds
Contributor
Contributor
Jump to solution

Hi J1mbo,

I'll try to create a new VM now with 4GB from scratch. I'll let you know the result. Thanks.

Reply
0 Kudos
thehyperadvisor
Enthusiast
Enthusiast
Jump to solution

Marcj1 is correct here. A 32bit Windows Serrver Std OS can see 4GB of RAM but you need to have PAE enabled.

hope this helps - thehyperadvisor.com

If you found this or other information useful, please consider awarding points for "Correct" or "Helpful".

VCP3,4,5, VCAP4-DCA, vExpert hope this helps - http://www.thehyperadvisor.com If you found this or other information useful, please consider awarding points for "Correct" or "Helpful".
thunderbirds
Contributor
Contributor
Jump to solution

Finally I've had a chance to do some testing and it turns out that Marcj1 is correct. I've added the /PAE switch then rebooted the server, which instantly changed the 3GB to 4GB. I thought the /PAE switch only applied to servers with more than 4GB of RAM but today I've learnt something new.

Thank you to all contributors.

Reply
0 Kudos