Re: linux DBA's: O_Direct


You may want to look into the BUFFERMEM parameter (which you can set with sysctl). With this, you can restrict the amount of RAM used to buffer filesystem I/O. This may (or may not) be a simpler way to meet your needs. I'm afraid this parameter is not exceptionally well documented (at least, not in any of the places *I* normally look), but I can provide an example upon request.

By the way, this can also be useful should you choose to store your *database* on ext2 or ext3 (although that doesn't apply in your specific case).

-- Mark Brinsmead.

Teehan, Mark wrote:

Redhat 3 ES, 2.4.21-32.0.1.ELsmp, Oracle RAC, OCFS 1.0.12

I run database backups to an ext3 filesystem, using both rman and regular hotbackups on different servers. Linux uses all available ram to cache the writes to ext3, which can reduce free memory to 10-20MB (the box has 12GB) - this is how it is supposed to work. Sometimes the kernel is unable to allocate ram for new processes when it drop to this level and causes errors. It seems to me that filesystem block caching is unsuitable for a database server - it is not an issue for OCFS, only for backups to ext3.



Other related posts: