Specifying Amount of RAM Available to Windows Using MaxPhysPage ------------------------------------------------------------ The information in this article applies to: Microsoft Windows Millennium Edition Microsoft Windows 95 Microsoft Windows 98 ------------------------------------------------------------ If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware: http://support.microsoft.com/support/windows/topics/hardware/hwddresctr.asp SUMMARY This article contains a table of MaxPhysPage values you can use to limit the amount of random access memory (RAM) available to Windows. MORE INFORMATION To use the MaxPhysPage entry to specify the amount of RAM that is available to Windows, add the following line in the [386Enh] section of the System.ini file MaxPhysPage= where is a hexidecimal number that determines the number of memory pages available to Windows. A page is 4096 bytes of RAM for 486 and Pentium processors. When the MaxPhysPage entry is used, the following formula is used to determine the amount of RAM available to Windows: 4096 X MaxPhysPage (decimal) = Amount of RAM available to Windows in bytes Therefore, to limit Windows to 32 MB of memory, use the following formula to determine the MaxPhysPage entry: (32 * 1048576) / 4096 = 8192 (decimal) or 02000 (hexadecimal) NOTE: One megabyte is 1,048,576 bytes. The following table list some common RAM amounts and the corresponding MaxPhysPage entry: Amount of RAM available to Windows (MB) (Bytes) MaxPhysPage entry -------------------------------------------------------------- 960 1,006,632,960 MaxPhysPage=3C000 896 939,524,096 MaxPhysPage=38000 832 872,415,323 MaxPhysPage=34000 768 805,306,368 MaxPhysPage=30000 704 738,197,504 MaxPhysPage=2C000 640 671,088,640 MaxPhysPage=28000 576 603,979,776 MaxPhysPage=24000 512 536,870,912 MaxPhysPage=20000 448 469,762,048 MaxPhysPage=1C000 384 402,653,184 MaxPhysPage=18000 320 335,544,320 MaxPhysPage=14000 256 268,435,456 MaxPhysPage=10000 224 234,881,024 MaxPhysPage=0E000 192 201,326,592 MaxPhysPage=0C000 160 167,772,160 MaxPhysPage=0A000 128 134,217,728 MaxPhysPage=08000 96 100,663,296 MaxPhysPage=06000 88 92,274,688 MaxPhysPage=05800 80 83,886,080 MaxPhysPage=05000 72 75,497,472 MaxPhysPage=04800 64 67,108,864 MaxPhysPage=04000 56 58,720,256 MaxPhysPage=03800 48 50,331,648 MaxPhysPage=03000 40 41,943,040 MaxPhysPage=02800 32 33,554,432 MaxPhysPage=02000 24 25,165,824 MaxPhysPage=01800 16 16,777,216 MaxPhysPage=01000 12 12,582,912 MaxPhysPage=00C00 08 8,388,608 MaxPhysPage=00800 For additional information about MaxPhysPage, please see the following Articles in the Microsoft Knowledge Base: Article-ID: Q134503 TITLE : Parity Error Messages May Indicate Bad Memory =========================================================== Here's another: "Out of Memory" Error Messages with Large Amounts of RAM Installed ------------------------------------------------------------ The information in this article applies to: Microsoft Windows Millennium Edition Microsoft Windows 98 Second Edition Microsoft Windows 98 Microsoft Windows 95 ------------------------------------------------------------ If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware: http://support.microsoft.com/support/windows/topics/hardware/hwddresctr.asp SYMPTOMS If a computer that is running any of the versions of Windows that are listed above contains more than 512 megabytes (for example, 768 megabytes) of physical memory (RAM), you may experience one or more of the following symptoms: You may be unable to open an MS-DOS session (or command prompt) while Windows is running. Attempts to do so may generate the following error message: There is not enough memory available to run this program. Quit one or more programs, and then try again. The computer may stop responding (hang) while Windows is starting, or halt and display the following error message: Insufficient memory to initialize windows. Quit one or more memory-resident programs or remove unnecessary utilities from your Config.sys and Autoexec.bat files, and restart your computer. CAUSE The Windows 32-bit protected-mode cache driver (Vcache) determines the maximum cache size based on the amount of RAM that is present when Windows starts. Vcache then reserves enough memory addresses to permit it to access a cache of the maximum size so that it can increase the cache to that size if needed. These addresses are allocated in a range of virtual addresses from 0xC0000000 through 0xFFFFFFFF (3 to 4 gigabytes) known as the system arena. On computers with large amounts of RAM, the maximum cache size can be large enough that Vcache consumes all of the addresses in the system arena, leaving no virtual memory addresses available for other functions such as opening an MS-DOS prompt (creating a new virtual machine). WORKAROUND To work around this problem, use one of the following methods: Use the MaxFileCache setting in the System.ini file to reduce the maximum amount of memory that Vcache uses to 512 megabytes (524,288 KB) or less. For additional information about how to use the MaxFileCache setting, click the article number below to view the article in the Microsoft Knowledge Base: Q108079 32-Bit File Access Maximum Cache Size Use the System Configuration utility to limit the amount of memory that Windows uses to 512 megabytes (MB) or less. For additional information about how to use the System Configuration utility, click the article number below to view the article in the Microsoft Knowledge Base: Q181966 System Configuration Utility Advanced Troubleshooting Settings Reduce the amount of memory that is installed in your computer to 512 MB or less. STATUS Microsoft has confirmed this to be a problem in the Microsoft products that are listed at the beginning of this article. MORE INFORMATION Vcache is limited internally to a maximum cache size of 800 MB. This problem may occur more readily with Advanced Graphics Port (AGP) video adapters because the AGP aperture is also mapped to addresses in the system arena. For example, if Vcache is using a maximum cache size of 800 MB and an AGP video adapter has a 128-MB aperture mapped, there is very little address space remaining for the other system code and data that must occupy this range of virtual addresses.