Forum OpenACS Q&A: Linux kernel for Oracle on 8 GB RAM machine?
If the latest Red Hat "enterprise" kernel is the best thing to use, just knowing that for certain would be helpful. Even better would be a pointer to some article detailing exactly what build and configuration options in the "enterprise" kernal make the difference.
There seem to be about a bazillion different ways to configure >4gb memory usage on IA-32 Linux. Oracle published a Oracle's Memory Usage Characteristics on Red Hat Advanced Server white paper back in May 2002 that might still be relevent.
I know some of you here are running Linux database servers with more than 4 GB of physical RAM, so I'm definitely interested in your experience...
Metalink, naturally, stupidly makes it impossible for me to give a direct link to the non-framed page with its support info. But what it boils down to is for Oracle Server 9.2.x EE, your "supported" choices are limited to:
- UnitedLinux 1.0
- SuSE SLES7
- Red Hat Enterprise Linux AS/ES 2.1
- Red Hat Enterprise Linux 3
- Monta Vista Carrier Grade Linux 3.0 (Embedded) There's also lots of further details and caveats, e.g.:
Oracle will support Red Hat Enterprise Linux AS/ES on any platform or driver(s) that Red Hat supports. It is a requirement that the OS (binary) has not been modified. A script has been provided to Oracle Support Services to run against the customers environment in order to assure the binary has not been modified.
rpm2cpio kernel-2.4.21-4.EL.src.rpm | cpio -idv", and took a look.
There are 17 different
kernel-2.4.21-*.config files, 3
which I assume might be appropriate for Xeons:
kernel-2.4.21-i686.config kernel-2.4.21-i686-hugemem.config kernel-2.4.21-i686-smp.config
I'm not going to look through that stuff in detail nor build a kernel
right now, but diff'ing some of the different config files is itself
instructive. E.g. the "smp" and "hugemem" i686 kernel configs
both have both
CONFIG_X86_NUMA=y set, which is not what I'd have naively
It was pointed out to me that Red Hat's Linux 2.6 vs. RHEL 3 kernel feature summary has some relevent info.
This RHEL feature, which apparently is not in the 2.6 kernel, might be the correct fix for the "low memory" problem:
- 4GB-4GB memory split: Greatly increased x86 physical memory support and larger application address space
- Reverse Map Virtual Memory (rmap VM): Performance improvement in memory constrained systems
- HugeTLBFS: Performance improvement for large virtual memory applications (e.g. Databases)
- Remap_file_pages: Kernel memory optimization for shared memory applications
from Alan Cox: "unpack the source rpm"
What does this mean? Because the source is GPL - you can determine which patches a particular distribution uses by:
rpm2cpio foo.rpm | cpio -idmv --no-absolute-filenames
and then look at the patches directory. Voila - the mystery of the redhat distro is gone.