Operating System - HP-UX
1834408 Members
1709 Online
110067 Solutions
New Discussion

dbc_max_pct kernel paramter

 
Aftab Sadiq
Advisor

dbc_max_pct kernel paramter

We have N-Class Server with 2GB physical memory running HP-UX11.0(64-bit). I have changed the value of dbc_max_pct paramter to 20% from 50% due to low free memory. Now I see buffer cache 129.5mb which is about 5% of total memory. Before changing that parameter value of buffer cache was 1024mb which is exactly 50%. Here is output from glanceplus:

Total VM: 235.2mb phys mem: 2.00gb system mem: 141.5mb Active VM: 192.6mb buff cache: 128.5mb user mem: 384.4mb Free mem: 1.37gb

it seems that VM is used even lot of free memory is available. Do I need to set any other kernel parameter to correct buff cache value and VM usage?

some other kernel parameter setting:
dbc_min_pct=5
bufpages=0
nbuf=0
nproc=12820
ncallout=12836

Any help would be appreciated.

Thanks
5 REPLIES 5
Andreas Voss
Honored Contributor

Re: dbc_max_pct kernel paramter

Hi,

you don't have to be worried about that.
Buffer cache is filled up dynamically.
So after reboot the value is at the dbc_min_pct. If the system needs more buffer cache the value is increased until it reaches the dbc_max_pct.
So have a look at that after your machine goes busy. I bet the value grows dynamically.

Regards
CHRIS_ANORUO
Honored Contributor

Re: dbc_max_pct kernel paramter

To set the dbc_max_pct do (echo "bufpages"/D|adb -k /stand/vmunix /dev/kmem), this will give you the exact value of your system bufpages.
You should also set swapmem_on=1 (from kernel parameters) to get the effect of setting nbuf and bufpages to zero.
When We Seek To Discover The Best In Others, We Somehow Bring Out The Best In Ourselves.
Stefan Farrelly
Honored Contributor

Re: dbc_max_pct kernel paramter

Here are the rules you seek;


nbuf sets system-wide number of file-system buffer and cache buffer headers.

The value for nbuf if selected 0 then it offers dynamic buffer cache.

Another parameter to control this is bufpages.

Relation betwn the 2 is as follows.

bufpages = 0, nbuf = 0: Enables dynamic buffer cache.
bufpages = X, nbuf = 0, Creates X/2 buffer headers & allocates X * 4 K of
buffer pool space at system boot.
bufpages = 0, nbuf = Y: Creates Y buffer headers & allocates Y*2 * 4K of
buffer pool space at system boot.
bufpages = X, nbuf = Y, Creates Y buffer headers & allocates X *4K of
buffer pool space at system boot.

sysdef shows the current value hence the difference.

However, I wouldnt recommend you run your buffer cache any higher than 400-500Mb as if its larger than this it actually slows down your server due to the effort required by HP-UX to administer such a large cache.
Im from Palmerston North, New Zealand, but somehow ended up in London...
Aftab Sadiq
Advisor

Re: dbc_max_pct kernel paramter

Buffer cache reached to its max when system get busy as Adreas mentioned it allocate dynamically. Why VM used when there is not much activity and free mem is available?
Stefan Farrelly
Honored Contributor

Re: dbc_max_pct kernel paramter


Follow this thread for more detailed info on VM and swap/paging;

http://www.dutchworks.nl/htbin/hpsysadmin?h=3&dn=45410&q=what%20is%20virtual%20memory&fh

(The above link may be wrapped on > 1 line in which case you need to paste it back to 1 line first)
Im from Palmerston North, New Zealand, but somehow ended up in London...