Re: Oracle memory allocation on Linux 2.6

From: <>
Date: Wed, 2 Apr 2008 03:20:27 -0700 (PDT)
Message-ID: <>

On Apr 1, 6:28 pm, Mladen Gogala <> wrote:
> On Tue, 01 Apr 2008 07:37:48 -0700, vitalisman wrote:
> > With the latest Linux kernels, things have gotten hard to tune regarding
> > the SGA/PGA we can allocate. I'm mainly talking about the physical
> > memory that is allocated to the OS buffers/caches to make full use of
> > the memory. With earlier kernels, we had vm.pagecache to control easily
> > these amounts of memory. Now there is vm.swapiness with the unfathomable
> > algorithm behind it (read: AFAIK we cannot really control the OS
> > buffers/caches anymore.)
> True. Linux is beginning to imitate Windows, even the shortcomings.
> No control over the VM that Unix OS was renowned for. Linux, too, started
> with undocumented algorithms and is taking control away from the system
> administrators. It is beginning to resemble an ego trip of yet another
> "IT industry giant", namely Ken Olsen. To make long story short - Linux
> sucks. I am awaiting a competing OS. What they did with 2.6 is a disaster.
> Competitor is bound to appear, sooner or later. My money is on some flavor
> of BSD.

I agree with you. I was a big supporter of FreeBSD a few years ago. Its TCP/IP stack and Virtual Memory system allows for great overall performances. Oracle benefits from them, even if it has to run in Linux-compatibility mode. However this architecture is not supported (and some components like Oracle client aren't regularly updated), and few companies are interested in FreeBSD (at least in Europe), except for webservers and security-related apps (thanks to the code ported from OpenBSD.)

The latest Linux kernels just seem to ignore apps that have their own buffer cache and that need to accurately control memory allocation. That's rather sad, and Oracle Unbreakable Linux making use of this kernel is a bit surprising. Maybe the Oracle dev team knows better regarding Linux VMemory tuning, but on the Unbreakable Linux boxes I got my hand on, no VMemory seemed to be tuned differently from a standard RHEL.

> > Moreover, SGA locking is not possible (or rather not advised by Oracle
> > support) and it is really difficult to check how much physical memory
> > our SGA is actually using. Even with vm.swapiness=0, huge amounts of OS
> > buffers/caches get
> Do you have FILSYSTEMIO_OPTIONS set to either "SETALL" or "DIRECTIO"?
> In my experience, that will significantly reduce the use of caches.

We are on RAC 9i and RAC 10g with OCFS2.

On 10g, filesystemio_options=asynch. I've not seen any read performance improvement by turning it to setall ; I/O seems to be still cached (unlike with ext3.)

On 9i, filesystemio_options=none (default) and Oracle binaries are not linked for AIO (default, at least with RAC). I'm in the process of testing AIO and DIO on RAC 9i following Oracle support questions, but the first attempts gave way to some instance internal errors... I've asked the support if this is really a supported configuration (at least with OCFS1, it was not, apparently.)

Thanks Mladen for your answer!

Jerome Received on Wed Apr 02 2008 - 05:20:27 CDT

Original text of this message