2 GB limit

The 2 GB limit refers to a physical memory barrier for a process running on a 32-bit operating system, which can only use a maximum of 2 GB of memory.[1] The problem mainly affects 32-bit versions of operating systems like Microsoft Windows and Linux, although some variants of the latter can overcome this barrier.[2] It is also found in servers like FTP servers or embedded systems like Xbox.[3] The use of Physical Address Extension (PAE) can overcome this barrier by extending the addresses used to represent mappings between virtual and physical memory.

The limit is created by the 32-bit integer limit (2,147,483,647), which is the largest possible integer that can be represented by 32 binary digits. In a computer with a 32-bit architecture, the memory address stored in one of the CPU registers will be limited to this number, thus the number of possible memory locations that can be addressed is limited to exactly 2 gibibytes, or roughly 2GB.

While Linux, FreeBSD, and most Unix-like operating systems support PAE so long as the hardware does,[4][5] Windows needs this boot option enabled manually because many device drivers are incompatible with PAE. This is known as 4-gigabyte tuning (4GT), or the /3GB switch. Once enabled, executables can have the "large address aware" flag set to increase their memory limit to 3 GB. 32-bit processes on 64-bit Windows are also limited to 2 GB. However, they can use the "large address aware" flag as well, except that it doesn't require the /3GB switch and increases the limit to 4 GB.[6]

See also

References

  1. ^ Richardson, Mike (2014-07-24). "Overcoming the Windows 2GB Caching Limit". O'Reilly Media. Archived from the original on 2015-09-13. Retrieved 2015-08-18.
  2. ^ Gorman, Mel (2004-02-15). Understanding the Linux Virtual Memory Manager. E Rutherford: Prentice Hall PTR. p. 33. ISBN 0-13-145348-3. OCLC 1062886347.
  3. ^ "FTPing Files Greater than 2Gb from Microsoft Windows 2003 Server to OS/400 or i5/OS". www.ibm.com. 2019-12-18. Retrieved 2021-06-17.
  4. ^ "2.3.23-pre4 x86 64 GB RAM changes [HIGHMEM patch] explained a bit". 1999-10-10. Retrieved 2017-09-17.
  5. ^ "Chapter 4. Hardware Compatibility". Retrieved 2017-09-17.
  6. ^ "Memory Limits for Windows and Windows Server Releases". Microsoft. Retrieved 2017-09-17.