Restrict memory on Windows Servers

By | September 6, 2014

When validating memory and CPU changes when doing virtual designs you may need to limit the memory to test a plan before you implements.  The following explain how to make these changes on physical Windows systems.

In Windows 2003 R2 and earlier

An undocumented /maxmem switch enables you to specify the maximum amount of random access memory (RAM) memory that Windows may use.

This switch is placed at the end of the ARC path that is specified in the [operating systems] section of the Boot.ini file, as in this example:

   multi(0)disk(0)rdisk(0)partition(1)winnt="Windows NT" /MAXMEM=12

This example forces Windows NT to use only 12 MB of RAM, ignoring everything else above this. This switch may be valuable in troubleshooting parity errors, mismatched modules speeds, or other memory related problems.

 

In Windows 2008

In Windows Server 2008 they removed the boot.ini from the OS drive.

So for load testing  I had the need to ramp up the RAM configuration of the server without physically install/remove memory modules 🙂

In Windows 2008 and higher the boot.ini is replaced with bcd store (bcdedit) but this is now an configurable option in the msconfig GUI.

start –> run –> msconfig.exe –> BOOT –> ADVANCED OPTIONS

memmax

This is very useful when testing Virtual Machine settings before you implement the your changes into production.