Operating System - HP-UX
1833828 Members
2054 Online
110063 Solutions
New Discussion

Re: Kernel parameters nbuf and page_text_to_local

 
Rene Mendez
Occasional Contributor

Kernel parameters nbuf and page_text_to_local

HPUX 11i
NFS Configurated
Netapp F810
4GB memory

The Netapp recomend change the parameter nbuf=5000 if memory is 8GB, the value the nbuf with memory 4GB is ?
that it does parameter page_text_to_local

As I modify the file to auto_master with -timeo=400 ?

as I verify the num msg with nfsstat command ?
5 REPLIES 5
Michael Steele_2
Honored Contributor

Re: Kernel parameters nbuf and page_text_to_local

Are you sure about this setting? "...nbuf..." is a dynamic buffer cache kernel parameter with a preferred setting of zero. The zero value will enable the dynamic cache. Usual considerations are to leave this alone and adjust dbc_max_pct and dbc_min_pct. Here is an example of both:

dbc_max_pct=25
dbc_min_pct=5

When the parameters bufpages and nbuf are both set to their default value of 0, the size of the buffer cache grows or shrinks dynamically, depending on competing requests for system memory.

Recommended Procedure
Set bufpages and nbuf to zero, and set dbc_min_pct and dbc_max_pct to the desired upper and lower limits as a percentage of total system memory. This activates dynamic buffer cache allocation.

Here is one good link to read:

http://docs.hp.com/hpux/onlinedocs/939/KCParms/KCparamTut.BufferParams.html

NOTE This parameter is for backwards compatibility and should be set to zero because dynamic buffer cache is preferred.

Here is another good link:

http://docs.hp.com/cgi-bin/fsearch/framedisplay?top=/hpux/onlinedocs/TKP-90202/TKP-90202_top.html&con=/hpux/onlinedocs/TKP-90202/00/01/112-con.html&toc=/hpux/onlinedocs/TKP-90202/00/01/112-toc.html&searchterms=description%7cnbuf&queryid=20030315-060233

Here is a very good document about all 11.i kernel parameters:

http://docs.hp.com/hpux/onlinedocs/939/KCParms/KCparams.OverviewAll.html

Finally, I'm concerned that your going to fragment you system memory and hang your server with a setting of nbuf=5000. Be careful.
Support Fatherhood - Stop Family Law
Rene Mendez
Occasional Contributor

Re: Kernel parameters nbuf and page_text_to_local

One document the Netapp show :

Dynamic buffer cache works well in environments below 4GB of RAM, but can
waste memory and even negatively impact NFS performance if allowed to grow
too large. The default setting in 11i is 50% for dbc_max_pct, it's best to
limit this to 20% or at most 800MB of RAM. In 11.0 it's even more important;
limit it to 10% or 400MB, whichever is the lower. Despite the positive
effects of a file system buffer cache, Oracle ignores it when writing,
because it opens its datafile with the O_DSYNC flag, all writes are only
acknowledged when written to disk, or, in our case, the filers NVRAM.
Oracles' own SGA (system global area) handles shared pools of memory
directly and allocates db block buffers in the SGA controlled in the
init.ora file.

It's generally recommended to try both static and dynamic cache. However,
depending on your type of database application, you may find that static
buffer cache (setting "nbuf" and "bufpages" to non-zero values) reduces
"vhand" process activity from stealing pages and thereby increasing load on
the CPU in order to dynamically adjust FSBC.

Make sure you know the size of the SGA and the static buffer cache before
running any tests or production system on your host. A 4:1 ratio is a good
starting point in observation of the aforementioned limits. If your
application demands significant file-system I/O you may consider decreasing
the ratio to 3:1. Oracle will allow you to configure a larger SGA than
physical memory. Heavy swapping activity could be the result, but this may
not be noticed until the database starts thrashing.
6.3. Asynchronous I/O
>

T G Manikandan
Honored Contributor

Re: Kernel parameters nbuf and page_text_to_local

You can either tune for dynamic buffer cache or static buffer cache.

For static buffer cache you should have either nbuf or bufpages set to a non zero value.
I would go with setting bufpages=90000 which should set a fixed buffer cache around 360 MB.
The other nbuf will be auto. calculated by the system.

If you are not sure about setting fixed buffer cache then
If you are to set dynamic buffer cache then just place your parameters somewhere to have around 300-350 MB.

dbc_max_pct=5% This will be 400MB in your case.
dbc_min_pct=2%
keith persons
Valued Contributor

Re: Kernel parameters nbuf and page_text_to_local

Adjusting kernel cache via the nbuf and bufpages parameters was last required in 9.10 for 300/400 series systems. As of version 10.x changing nbuf is not recommended on any system.

It is recommended that cache be constrained thru the dbc_max_pct and dbc_min_pct variables. If however you set bufpages to override the dbc parms, realize dynamic caching is not disabled - the algorithm cannot be stopped in 10.x and above. By setting bufpages, you are effectively setting dbc_max_pct to this value - if required, the kernel will reduce cache below the value of bufpages.

Keith
Frank Slootweg
Honored Contributor

Re: Kernel parameters nbuf and page_text_to_local

I'm sorry Keith, but if you set bufpages (or/and nbuf) to a non-zero value, Dynamic Buffer Cache *is* disabled, i.e. it becomes a fixed-size buffer cache.

If you think otherwise, then please point to a reliable source.

For details, see the "Help On Context" screens in SAM.