Incorrect memory size displayed in BIOS with Microsoft Windows Server 2008 when mirrored - IBM System x


RETAIN tip: H094966


Incorrect memory sizes are displayed on System x3400 M2, System x3500 M2, and iDataPlex dx360 M2 Servers running Windows Server 2008 when configured as Mirrored Memory.

Affected configurations

The system may be any of the following IBM servers:

  • iDataPlex dx360 M2 Server, Type 6380, any model
  • iDataPlex dx360 M2 Server, Type 7321, any model
  • iDataPlex dx360 M2 Server, Type 7323, any model
  • System x3400 M2, Type 7836, any model
  • System x3400 M2, Type 7837, any model
  • System x3500 M2, Type 7839, any model

This tip is not software specific.
This tip is not option specific.

The system has the symptom described above.

Additional information

The memory size should be detected as half of the physical memory size when mirrored, however full physical memory size is shown under the Windows 2008 system properties.

The Basic Input/Output System (BIOS) summary does show the correct memory size.

When Error Correcting Code (ECC) memory (mirroring) is enabled while running Windows 2008, the System Management BIOS (SMBIOS) report shows total physical memory. The SMBIOS specification has no specifications for handling the reporting of advanced ECC memory. This value is computed using the SMBIOS data and reported by the GetPhysicallyInstalledSystemMemory() Application Programming Interface (API), which is new for Vista SP1 and WS2008.

The rationale for adding this API and displaying the data in the User Interface (UI) is to reduce support calls. A common support issue has been that users do not understand why Windows is using 3 or 3.5 gigabytes (GB) when they have 4 GB of RAM installed on a machine running 32-bit Windows. Often, users think this is a bug in Windows. This is an attempt to show the user that Windows has discovered all 4 GB of their RAM in the top-level UI. More advanced users may find information about the amount of memory actually in use in other places, such as taskmgr.exe.

The expected behavior and definition in regards to "Installed Physical Memory (RAM)" versus "Total Physical Memory " is that in Msinfo32, "Installed Physical Memory (RAM)" shows the total amount of physical RAM installed in the computer as computed using the SMBIOS algorithm above. This can be larger than the amount of memory Windows sees as available (for example: in the mirrored memory case; or in the case of a 32-bit Vista system with 4 or more GB RAM; or if the "truncatememory" switch is set in the boot loader to limit available memory).

"Total Physical Memory" (in Msinfo32) should report the amount of physical memory that Windows actually sees as usable. There was a known bug in this. (See Microsoft article KB950233).

"Available Physical Memory" in Msinfo32 shows the amount of memory currently unused and available.

See the following Microsoft Developer Network URL for the GetPhysicallyInstalledSystemMemory() API:


Applicable countries and regions


Document id:  MIGR-5080295
Last modified:  2009-06-04
Copyright © 2015 IBM Corporation