Note this document comes without warranty of any kind. But every effort has been made to provide theinformation as accurate as possible. I welcome emails from any readers with comments, suggestions,and corrections at webmaster_at_puschitz.com.
Hardware Architectures and Linux Kernels
When it comes to large databases the hybrid x86-64 architecture platform is strongly recommendedover the 32-bit x86 platform. 64-bit platforms can access more than 4GB of memory withoutworkarounds. With 32-bit platforms there are several issues that require workaround solutions for databases that use lots of memory, for example refer toUsing Very Large Memory (VLM). If you arenot sure whether you are on a 32-bit or 64-bit hardware, run
can be misleading since 32-bit Linux kernels can run on x86-64 platforms. But if
, then you are running a 64-bit Linux kernel on a x86-64 platform.
The RHEL 3/4
kernel can be used on systems with up to 16 GB of RAM. The
kernel isrequired in order to use all the memory on systems that have more than 16GB of RAM up to 64GB.
However, I recommend the
kernel even on systems that have 8GB of RAM or more due to the potential issue of "low memory" starvation (see next section) that can happen on database systemswith 8 GB of RAM.
The stability you get with the
kernel on larger systems outperforms the performance overhead of address space switching.With x86 architecture the first 16MB-896MB of physical memory is known as "low memory"(
) which is permanently mapped into kernel space. Many kernel resources must live inthe low memory zone. In fact, many kernel operations can only take place in this zone. This meansthat the low memory area is the most performance critical zone. For example, if you run manyresources intensive applications/programs and/or use large physical memory, then "low memory" can become low since more kernel structures must be allocated in this area. Low memory starvationhappens when
becomes very low accompanied by a sudden spike in paging activity. To free up memory in the low memory zone, the kernel bounces buffers aggressively between low memory and high memory which becomes noticeable as paging (don't confuse it with paging to the swap partition). If the kernel is unable to free up enough memory in the low memoryzone, then the kernel can hang the system.Paging activity can be monitored using the
command or using the
command (option '-B')which comes with the
RPM. Since Linux tries to utilize the whole low memory zone, a low
does not necessarily mean that the system is out of low memory.However, when the system shows increased paging activity when
gets below 50MB, then the
kernel should be installed. The stability you gain from using the
kernel makes upfor any performance impact resulting from the 4GB-4GB kernel/user memory split in this kernel (aclassic 32-bit x86 system splits the available 4 GB address space into 3 GB virtual memory space for