I noticed today that a server was very low on memory. It physically has 8GB installed and runs Windows 2008 R2 Standard 64bit. It also hosts 2 virtual machines using HyperV. Server is Dell Poweredge R510.

However the host OS reports in task manager that it only has 4GB of RAM, despite actually having 8GB and it being a 64bit OS. Computer properties shows Installed memory: 8.00GB (3.99GB usuable). Why would "usable" be half the real RAM installed under a 64bit OS?

Additionally nearly all of the 4GB of visible RAM on the host OS is being used by something without anything showing up in task manager (presumably HyperV as it's allocated 3.6GB to the virtual machines its hosting). However that doesn't explain where the other 4GB has gone which Windows can't even see.

Where is my missing 4GB of RAM?

Update: Dell OpenManage says this: Total Installed Capacity 8192 MB Total Installed Capacity Available to the OS 4096 MB

So looks like Nathan's suggestion of memory mirroring might be correct. I'll have to reboot to check this (I think?)

Update 2 OK. So I reboot and I get a message saying "the amount of system memory has changed" (despite not having touched the hardware in a year). Once Windows has booted, all 8GB is visible again. Looks like I probably have a hardware RAM issue (I'll perhaps try reseating it whenever I can chuck everyone off the server next). Thanks for your answers and comments. I was hoping it was going to be the mirrored-RAM option but it seems not - that's not even mentioned in the BIOS.

  • Could you verify that the BIOS "sees" the full 8GB of RAM upon boot? – Trondh Oct 30 '13 at 12:02
  • 3
    Is this a Dell server? Memory Mirroring may be your problem. – Nathan C Oct 30 '13 at 12:02
  • 1
    You should be running Windows Server 2008 R2 SOMETHING_ELSE (where SOMETHING_ELSE can be a characteristics limiter), not Windows 2008 R2. Also consider a possible hardware problem. – 178024 Oct 30 '13 at 12:02
  • @NathanC Good point! Is there any way I can check this from OpenManage without a reboot? I can't find it anywhere. – NickG Oct 30 '13 at 12:10
  • 3
    Some machines have a "legacy" or "compatability" addressing mode in the BIOS that will restrict the amount of memory available to the system. Check the memory settings in the BIOS and see if there is an option to modify the addressing behavior. – Matt McCarragher Oct 30 '13 at 12:37

Some machines allow you to reserve RAM for use by the RAID controller. This would show up as present but unusable by the OS, in exactly the way that you're seeing.

  • 3
    Bios level raid controller grabbing 4gb memory on bios level? I would like to know what planet that happens on - never seen that. Heck, I wish they would - would help a lot with performance ;) – TomTom Oct 30 '13 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.