1831340 Members
3590 Online
110024 Solutions
New Discussion

increase buffer cache?

 
SOLVED
Go to solution
Dave Chamberlin
Trusted Contributor

increase buffer cache?

System: N 4x440MHz, 3G RAM, running Oracle 32Bit.My problem is I am trying to reduce my IO bottlenecks. After reading a number of threads about buffer cache in our cool forum, I think my kernel is not optimized here. I noticed that nbuf=0, bufpages = 4800, dbc_max_pct=2 and dbc_min_pct = 2. If I am right, the bufpages value is determining my buffer cache to the value showing in Glance as 18.7MB (even though 4k*4800 = 19.2MB). My database does about 90% read, 10% writes. I have a couple of disks that are always near 50% ulitization, and one goes higher under heavy loads. I ususally have at least 200M free RAM. I am thinking I should either set bufpages to give me at least 200M (say 50000), or set bufpages to 0 and increase dbc_max_pct to 7, to give the buffer about 200M. Does this sound like a good idea?
BTW - I have of course moved datafiles off these disks to reduce IO demand, but the problem in each case is a single troublesome datafile, and I can't break it up without rebuilding very large Oracle tables (10-20 hours to rebuild).
5 REPLIES 5
Michael Tully
Honored Contributor

Re: increase buffer cache?

Hi Dave,

I have a similar box to yours with 4gb of RAM and I have around 300Mb of Buffer cache. It works really well with the setting. I would use the 'dbc_max_pct' and set 'bufpages' to zero. Also make sure My environment has a EMC disk array with loads of caching through a fibre switch. Also include a small percentage of 'dbc_min_pct' that way you want have an issue at the other end.

Cheers
~Michael~
Anyone for a Mutiny ?
A. Clay Stephenson
Acclaimed Contributor

Re: increase buffer cache?

You don't mention whether this is 11.0 or 11.11. I understand that dbc works much better under 11.11 but I have not had a chance to confirm that on my sandbox to my satisfaction. In any event, if you have 200MB free with the 18MB buffer cache, I would increase buffer cache to 146MB (bufpages 37376). I would prefer to leave some memory headroom rather than driving your box into paging. If it's 11.11 then you might try using dbc and be a bit more aggressive (maybe up to 300MB).

At 18MB, your buffer cache is certainly too small now.
If it ain't broke, I can fix that.
Bill Hassell
Honored Contributor
Solution

Re: increase buffer cache?

The ideal buffer cache size is one that provides about 95% or higher cache hit rates. To make the 'dynamic' part of the DBC work, both nbuf and bufpages must be zero. 200 megs is a bit low for the Nclass, even with only 3Gb of RAM (minimum for 64bit HP-UX is 4Gb, more is very desirable for high speed Oracle operation).

I'd recommend 300-500 megs for DBC max. If memory pressure starts to occur (some paging begins), then the system will back down the max size of the DBC. This will take a little time (a dozen seconds or so) but any paging will be minimal compared to the increase in overall performance.

11.11 definitely improves buffer cache management. Resizing from max to min occurs within a few seconds.


Bill Hassell, sysadmin
Dave Chamberlin
Trusted Contributor

Re: increase buffer cache?

Thanks for the input - I plan to make the change next weekend.
Mark Landin
Valued Contributor

Re: increase buffer cache?

Note that buffer cache is only used for HFS or VxFS filesystems ... if your Oracle tables are on "raw" filesystems then your buffer cache setting is immaterial for I/O to those tables.