UP kernels. For user processes using large amounts of memory, the additional installed memory can
prevent swapping to the hard drive, which should more than offset any memory reference penalty
incurred by the bigmem/hugemem kernel.
On x86 (32-bit) systems, the Linux kernel makes available only 3GB of address space available for
each user process. Even though a single process can only use 3GB of memory, installing 4GB or
more of memory and running the bigmem/hugemem kernel can still provide a performance
advantage when running multiple processes requiring large amounts of memory.
It should be noted that the maximum amount of memory that you can malloc in one chunk is 2GB, due
to fragmentation of the malloc pool across a process address space.
Large Memory and MTRRs
In some situations, adding additional memory to a system can cause AGP graphics drivers to fail to
operate. In this case, increasing the AGP aperture size may allow the configuration to operate.
On Intel Pentium family processors memory access is controlled using special dedicated registers in
the processor called Memory Type Range Registers (MTRR). For system RAM to be available for
processor use, it must be configured using these registers. A configuration requirement of these
registers is the defined memory size must be a power of two. Maximizing configured memory results
in some system memory sizes using almost all of the MTRRs available in the processor. Some Linux
graphics drivers require exclusive use of two MTRRs, which might not be available in these
circumstances.
If an error occurs when the graphics driver loads, the system memory configuration might not have
enough free MTRRs. This can be checked from the console by viewing the /proc/mtrr file. Registers
six and seven are normally unlisted, or list as OMB if X has not started since the last system boot. If
viewing /proc/mtrr shows register six or seven is in use, changing the memory configuration might
free a MTRR. One method is to increase the AGP graphics aperture by rebooting the system, selecting
Setup at the initial screen, and selecting Advanced. However, a larger AGP aperture can reduce the
amount of configured memory and can cause a slight decrease in performance for some graphics-
intensive applications.
Conclusion
Support for large memory configurations on HP Linux Workstations requires the use of an SMP kernel
if memory is 16GB or less. The hugemem kernel is needed if it is greater than 16GB on Red Hat
Enterprise Linux WS 3 and later or a bigmem kernel on earlier Red Hat versions
4