Operating System - HP-UX
1833800 Members
2569 Online
110063 Solutions
New Discussion

Re: Tuning the dynamic buffer cache

 
Jonathan Small
New Member

Tuning the dynamic buffer cache

We have an HP 9000 N class server with 8 processors and 8GB of memory. This server runs the Informix IDS engine. Currently, we have the following kernel parameters set; dbc_min=5% and dbc_max=50% (default). Memory utilization on the system is on the average around 85%, 30%(user), 5%(system), and 50%(buffer cache). According to the IDS engine, it is only using 886MB, I guess for shared memory and such. My question is, how do I find out who is using all of the dynamic buffer cache? Is it simply being used for all of the I/O operations between the host and RAID system to buffer the data before it is read/written?

Any help with this issue would be greatly appreciated.
Those who play the game do not see it as clearly as those who watch.
10 REPLIES 10
Christopher McCray_1
Honored Contributor

Re: Tuning the dynamic buffer cache

I'm not sure if this answers your question totally, but here goes!

The values that you posted for dbc_min_pct and dbc_max_pct are the default values with a new system/install. We here have read documentation(hope to find and post, where HP recommends that the dbc_max_pct needs to be lowered in most cases. We have set ours across the board to 20.

I hope this helps (and that I find the document)
Chris
It wasn't me!!!!
A. Clay Stephenson
Acclaimed Contributor

Re: Tuning the dynamic buffer cache

Hi Jonathan:

For some reason that is yet to be explained very well, the default value for the dbc_max_pct is 50%; in almost all cases that is much too high. Generally a value between 10-15% is reasonable although with 8GB 5% is quite generous. I actually prefer to fix buffer cache by setting bufpages to about 80000 (320 MB and that is generous). The best way to determine, the ideal setting is to measure for yourself. In any event, somewhere around 300-400 MB will work quite well.

Your assumption about the purpose of buffer cache is essentially correct although it applies to all 'cooked' or block i/o rather than just that going to an array. Raw i/o (or their onlineJFS equivalent mount options) bypasses the UNIX buffer cache.

If it ain't broke, I can fix that.
Sanjay_6
Honored Contributor

Re: Tuning the dynamic buffer cache

Sanjay_6
Honored Contributor

Re: Tuning the dynamic buffer cache

Hi Jonathan,

Here is a thread on the kernel parameters and performance of the system.

http://us-support2.external.hp.com/cki/bin/doc.pl/sid=a2d13a8311023bad19/screen=ckiDisplayDocument?docId=200000018911225

Hope this helps.

Regds
Roger Baptiste
Honored Contributor

Re: Tuning the dynamic buffer cache

<>

50% is the default which comes with O/S install. It is ridiculously high and should be reduced. For 8Gb memory, 10% max limit would be good enough. You will gain memory by doing this.



I don''t think you can ! It is used at the system level and is too dynamic to track.
You can only see how well it is being used by running
sar -b x y
-> check the cache hit read and write rate. 95% and 80% respectively are considered good figures.



Yes, it applies to all filesystem access. It serves as a buffer in the memory for quick access.

HTH
raj

Take it easy.
Christopher McCray_1
Honored Contributor

Re: Tuning the dynamic buffer cache

Try this document:

http://us-support.external.hp.com/cki/bin/doc.pl/sid=1147783d07840ccc65/screen=ckiDisplayDocument?docId=200000049436468

There were so many to choose from. From the series of docs I had viewed this time, they are actually suggesting around 10%, even as low as 5%. So here you have it, but one thing for sure, you don't want to allocate 50% of main memory buffer caching.

Good luck and success!
Chris

It wasn't me!!!!
Praveen Bezawada
Respected Contributor

Re: Tuning the dynamic buffer cache

Hi
50% for dbc_max_pct is way too high. Generally the value is set 10% to 15 % and dbc_min_pct is set to half of it.

hope this helps..

...BPK...
Deshpande Prashant
Honored Contributor

Re: Tuning the dynamic buffer cache

Hi
All the i/o use the buffer cache, as much available. The buffer cache will not reduce once used, unless some process asks for more memory. So if you want to track the process using buff cache, try running some memory hogging program to get the buffer cache at its minimum and then keep watching to see buffer cache usage, if it goes to max immediately, some process is using it fast.
The higher buffer cache might help heavy i/o

Thanks.
Prashant.

Take it as it comes.
Varghese Mathew
Trusted Contributor

Re: Tuning the dynamic buffer cache

Hi,

Are you using any high end storage devices like EMC or so??, Because we do have a couple of EMC boxes and they (EMC) have given us the instructions to keep the HP boxes' kernel paramter dbc_max_pct set to 50%. I think the same instruction was given due to the fact the at higher buffer cache it would help huge I/O transactions.

Otherwise the paramater has to be kept much lower - idea was suggested by HP ie; should be 10-15% of the physical RAM (this value is quite reasonable as your system is equiped with 8GB of RAM) which would release more system resources as more RAM gets freed.

Hope this helps..
Cheers !!!
Mathew
Cheers !!!
Wodisch
Honored Contributor

Re: Tuning the dynamic buffer cache

Hello Johnathan,

AFAIK HP-UX 11.00 is NOT able to take advantage of more than 300-400MB of buffer cache. This has been enhanced to about 800MB for HP-UX11i. Every bit more is a waste of RAM!

HTH,
Wodisch