Forum OpenACS Q&A: Linux kernel for Oracle on 8 GB RAM machine?

For running Oracle plus a bunch of other stuff on a dual Xeon with 8 GB of physical memory, what are the best Linux kernel versions to use, with what (if any) patches, and configured and tuned how?

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...

Posted by Dirk Gomez on
Do you pay for Oracle support? If so, Oracle is only certified on particular kernel versions, you'll find them in metalink.
Posted by Andrew Piskorski on
Yes we do. That's a good suggsetion, but I'd rather understand what's really going on. Particuarly since in at least some cases we may have other non-standard kernel requirements, and it would be really nice to know what not to break while otherwise mucking with the kernel. Or when running on Debian which isn't technically supported by Oracle anyway, etc. etc.

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.
Posted by C. R. Oldham on
Note that UnitedLinux is dead.  cf:

Posted by Andrew Piskorski on
Patrick Giagnocavo suggested I look at the kernel.config file from the Red Hat srpm, which for some reason I hadn't thought of. So I downloaded the 33 MB kernel-2.4.21-4.EL.src.rpm , extracted all the files with "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:


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_HIGHMEM64G=y and CONFIG_X86_NUMA=y set, which is not what I'd have naively expected.

Posted by Andrew Piskorski on
I don't have good info handy, but a while we saw problems when running Oracle 8.1.7.x on a >4 GB RAM Linux box in the past (which some late version of the 2.4.x kernel). I think it had to do with running out of "low memory".

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
And these, all of which are in both the RHEL 3 and Linux 2.6 kernels, might be related:
  • 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
Posted by Alfred Werner on
Could always spring for an SGI Altix :) It's Oracle certified.
Posted by Anthony Barker on
How do you tell which patches are applied to a particular kernel?

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.