Re: kbcached and RedHat Linux memory issues

Frequent Advisor

kbcached and RedHat Linux memory issues

We are running Oracle LDAP on RedHat Linux 3.0 AS and they are asking me about some memory issues they may be seeing.

It appears the system is using all the memory and kbcached is pretty high. I read that on Linux it always uses "unused" memory for the file system buffer cache, which is the kbcached column. Is this correct and if so, is there a way to disable this or tune it down so my app folks don't freak out when they see 99% memory used and a high cache?

I have attached outputs of sar -r, free, and vmstat.

Ross Kennedy
Occasional Advisor

Re: kbcached and RedHat Linux memory issues

I've fixed this problem on Solaris and I think Linux has a similar problem but I haven't
managed to sort it (yet). The OS is trying to cache your database which is a bit of a waste of time and effort as Oracle is already doing that job for you via the buffer cache / SGA. You need to set your system to use "Direct I/O"

You need to do one of 2 things.

1. Set the filesystemio_option in init.ora to directIO. See this link

2. Mount the file systems where your database files reside with the direct I/O option. I know Solaris has forcedirectio option on it's mount command - I'm not sure about Linux which
is why I've stumbled on your query!

On another article, I read that Oracle on Link doesn't support Async I/O until you re-link the oracle executable.

Do let me know if you get your buffer cache back as I'm having the same problem!