Operating System - HP-UX
1826398 Members
3426 Online
109692 Solutions
New Discussion

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

 
SOLVED
Go to solution
Verónica Muñoz Segovia
Frequent Advisor

tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

If a HP Class D370 box with 2.3Gb HP-UX 10.20 has follow values?

dbc_min_pct = 5
dbc_max_pct = 50
bufpages = 294912
nbuf = 155640

These are my questions?

1. I believe I'm not using dinamic buffer cache on this server because I have values on bufpages and nbuf? am I right?

2. Actually el %memory utilization is 82% and I have the follow map memory, what am I need to do in order to decrease memory utilization, becuase I increase 512 Memory on the server three weeks ago and the memory still varying between 80% and 90%?

IPC status from /dev/kmem as of Wed Sep 19 11:32:56 2001
T ID KEY MODE OWNER GROUP NATTCH SEGSZ
Shared Memory:
m 0 0x2f140002 --rw------- root sys 2 1286144
m 1 0x4118031b --rw-rw-rw- root root 0 348
m 2 0x4e0c0002 --rw-rw-rw- root root 1 31008
m 3 0x41841b7a --rw-rw-rw- root root 1 8192
m 4 0x00000000 D-rw------- web www 7 52228
m 8805 0x4dc81200 --rw-rw-rw- mqm mqm 7 516
m 10406 0x53c82281 --rw-rw---- mqm mqm 5 1068284
m 2207 0x53c82282 --rw-rw---- mqm mqm 4 137156
m 208 0x53c83a81 --rw-rw-rw- mqm mqm 5 1068292
m 209 0x53c83a82 --rw-rw-rw- mqm mqm 5 41372
m 210 0x53c83a83 --rw-rw-rw- mqm mqm 3 5484
m 211 0x53c82283 --rw-rw---- mqm mqm 4 132436
m 212 0x53c82284 --rw-rw---- mqm mqm 4 132436
m 213 0x53c82285 --rw-rw---- mqm mqm 4 2098416
m 214 0x53c82286 --rw-rw---- mqm mqm 4 132436
m 215 0x53c82287 --rw-rw---- mqm mqm 5 263508
m 216 0x53c83a84 --rw-rw-rw- mqm mqm 5 1249256
m 217 0x53c83a85 --rw-rw-rw- mqm mqm 5 40300
m 418 0x53c83a86 --rw-rw-rw- mqm mqm 2 196104
m 28019 0x53c80f01 --rw-rw-rw- mqm mqm 2 1068284
m 220 0x53c83a87 --rw-rw-rw- mqm mqm 5 40300
m 221 0x53c82288 --rw-rw---- mqm mqm 3 2097344
m 22 0x53c83a88 --rw-rw-rw- mqm mqm 5 40300


3. What are the tuning recommendation for a D Class Server with 2.3Gb, I'm attaching actual system kernel parameters?

4. What is the maximum Gb that I can Install in a HP9000 D370 machine, I not sure if is 3 or 3.5 Gb?

Best Regards

Veronica

Always is important to know the opinion of other people with or without experience
16 REPLIES 16
Rita C Workman
Honored Contributor
Solution

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica,
I'm just going to address the parm settings of dbc_max_pct and buffpage....
First dbc_max_pct at 50 is the default value...and who decided it should default to 50 must have had too much to drink the night before...What that value is doing is reserving 50% of your memory off the top for the system, thus keeping your apps from getting any value of it. Most folks set that to a value between 8-15. I personally like the round number of 10. You will see a quick improvement on your system when you change this.
Second, generally you want nbuf and buffpage set to a value of '0' so that the system will dynamically control this buffer cache.
*Tip* You may also want to check and ensure that you have pseudo_swap turned on. The parm swapmem_on should be set to '1' to enable this.

Hope this helps to get you started...here's a handy thread for info on parms:
http://docs.hp.com//hpux/onlinedocs/os/KCparams.OverviewAll.html
....and remember you can use the Search option at the top right for more threads that cover these topics to help you too !

Regards,
Rita
Sanjay_6
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica,

Just checked the kernel parameters i have on my server and surprise,
dbc_max_pct =10
dbc_min_pct = 5
bufpages = (NBUF*2)
NBUF = 0

My system is tuned for the General OLTP / Database Server system tuned parameter set. Take a list of the the kernel parameters you presently have.

kmtune -S /stand/vmunix >/tmp/kernel_para_list

Apply the HP default tuned parameter set for the Database Server
sam --> Kernel Conf --> Configurable Parameters --> Select Action from the top bar, Select apply tuned parameter set, select General OLTP/Database Server System ---> Apply this set, rebuild the kernel and reboot.

This should help.

thanks
A. Clay Stephenson
Acclaimed Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica:

Your D box has a maximum RAM capacity of 3072MB.

With bufpages set to 294912 pages your current buffer cache is fixed at 1152MB. In almost all cases, anything over about 300 MB (and that is generous) is wasted. The exception to this is a box dedicated as an NFS server. In your case, your really have a couple of choices: 1) set nbuf and bufpages to 0 and set max_dbc_pct to about 10 and min_dbc_pct to about 5 or 2) set bufpages to about 80000 (~ 312 MB - generous) with nbuf set to 0. I actually prefer to use a fixed buffer cache size because it is much easier to tune the rest of the system with that quantity is fixed.

My 2 cents, Clay
If it ain't broke, I can fix that.
Sridhar Bhaskarla
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

The basic misuse of memory on HP systems is by the buffer cache. Unnecessary settings not only misuse but also can create kernel thrashing on the system.

The setting of buffer cache is really dependent on the database as well the backend you have.

By default, the max_dbc_pct is 50% and it doesn't make any sense. Setting a non-zero value for nbuf will make dbc_ values ineffective.

You may want to set the nbuf value to 0 and then adjust dbc_* values. You can safely start with a value of 5 for max_dbc_pct. Make sure that you won't go beyond 300MB. It is not recommended by HP to have buffer cache more than 300MB. Alter your dbc_max_pct to get a value of 300MB.

On my N-Servers with 8 GB ram, we set the dbc_* values at 2% and we are doing excellent.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Verónica Muñoz Segovia
Frequent Advisor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

First, Thank you very much for all yours comments.

I just have a question for Sanjay, I think kmtune can only be used on HP-UX 11.00 and I have 10.20, do you know what is the command I have to use on 10.20?

Veronica
Always is important to know the opinion of other people with or without experience
Sanjay_6
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica,

Sorry, haven't been able to locate the euivalent of "kmtune" for 10.20. "sysdef" is there but it doesn't list all the parameters. Let me see, if i can find something else. Will post another reply if i can find something else. If by this time tomorrow you don't get a post from me, assume that i had been unsucessful. Am out of my office at present, so cannot access any of my box from here.

Thanks
Thierry Poels_1
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

hi,

how about using SAM for modifying kernel parameters. Works always (if you have the time ;)

regards,
Thierry.
All unix flavours are exactly the same . . . . . . . . . . for end users anyway.
Frank Slootweg
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Veronica (Sorry, don't know how to do local language characters.), how do you determine memory utilization, i.e. the 82%, 80% and 90% number in your posting?

If this is from the "memory" line in the swapinfo(1M) output, then that is *not* memory usage (but the amount of memory that is included in the calculation of available swap space).

If this is the Mem Util from Glance, then, as I mentioned in the "File System Buffer Cache" thread (http://forums.itrc.hp.com/cm/QuestionAnswer/1,1150,0x1377abe92dabd5118ff10090279cd0f9,00.html), percentages of upto 95% are fine. Lower values are actually bad, because it means that you have too much memory.

I agree with Sridhar that in most cases a max_dbc_pct of 50 is 'too high' because it is not needed, but I 'disagree' that that setting can cause trashing, provided that min_dbc_pct is set correctly. If memory pressure (from processes/data) becomes too high, the kernel will shrink the DBC below max_dbc_pct. So, while it sounds a little crazy you should not set min_dbc_pct too *high* and should not set max_dbc_pct too *low*.



Sridhar Bhaskarla
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

I have a little bit of explanation to give on what Frank pointed out. I did mean that incorrect settings could cause unnecessary burdain to the system. That includes high limits for both dbc_max and dbc_min.

On the other hand about setting the max size, if you have disk arrays like EMC or XP that have *professional* caches, you don't really want to waste your memory buffering the I/O. Particularly if you have high speed cards like tachyon, you can keep your dbc_*_pct values as low as possible ( upto 300MB) and leave the headache to the disk sub systems.

-Sri

You may be disappointed if you fail, but you are doomed if you don't try
Sanjay_6
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica,

This is in reply to my last answer to you and the question you had posed after that. I did find that kmtune is not available on 10.20. Also "sysdef" does not list all the parameters. Now if you want to list all the parameters in 10.20, i think you can try these three command. All of them, so you get all the paras
1.) # sysdef >/tmp/kern_para_1
2.) # /usr/lbin/sysadm/system_prep -s /tmp/kern_para_2
3.) # adb -k -w /stand/system /dev/kmem > /tmp/kern_para_3
$e
$q

Hope you will be able to catch all the parameters. and it helps.

Thanks
Wodisch
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hello Veronica,

on a database server machine like yours the dynamic
buffer cache is a waste of ram and cpu-time.
Set your "bufpages" to something NOT above 300MB
and that's it.

Do you have huge amounts of swap space available?
In your case about more than 10GB? Then set that
"swapmem_on" to 0 (and keep watching the output
of "swapinfo -t").

Do you keep your oracle data files in filesystems or
raw-devices? If you use filesystems, then try to get
the "Online/Advanced VxFS/JFS" and use the options
"mincache=direct,convosync=direct,delaylog" for the
mounting of those filesystemes (but ONLY if you can
guarantee NOT to have any other files in these file
systems). Oracle's SGA is already a buffer cache, so
there is no point in doing double-buffering - that's
wasting ram again.

Search the forums for "swapmem_on" and read the
replies of some of the hp guys - that parameters is a
little bit obscure and not many know about its real
way of working...

HTH,
Wodisch
eran maor
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi

just wanted to tell that dont use sysdef because a lot of times the command doesnt give the rigth value of the params .

in 11.X use the kmtune -q param or kmtune -l

for 10.X use this undocumented command :
NOTE: The command also provides the following information:

* Drivers and their dependencies.
* Supported or unsupported drivers
* Brief driver description
* Some of the symbols required for the adb(1) command
* MAX and MIN values for kernel parms
* Formulas for kernel values (if applicable)
* Sub-systems (with included drivers)

NOTE: UNDOCUMENTED means that this command is not normally intended
for use as a stand-alone command. Nothing in this procedure
implies support for accuracy. It is provided for convenience ONLY.

/usr/sam/lbin/getkinfo
Usage: getkinfo [-b] [-f kernel_file] [-o dump_file]
Example (for current kernel) :

/usr/sam/lbin/getkinfo -b
Example (fro alternate kernel) :

/usr/sam/lbin/getkinfo -b -f /stand/vmunix.prev

The file /var/sam/boot.config is created and then can be edited
using standard ascii editor (dtpad, vi, etc.).

For example, this is a simple command line inquiry to get tunable
parameter settings:

# grep -e KC_PARAM_NAME -e KC_PARAM_STATUS /var/sam/boot.config > /tmp/kern_tune.out
# more /tmp/kern_tune.out
KC_PARAM_NAME = "NSTRBLKSCHED" <---- kernel parm
KC_PARAM_STATUS = "2" <---- current value
KC_PARAM_NAME = "NSTREVENT"
KC_PARAM_STATUS = "50"
KC_PARAM_NAME = "NSTRPUSH"
KC_PARAM_STATUS = "16"
KC_PARAM_NAME = "NSTRSCHED"
KC_PARAM_STATUS = "0"
KC_PARAM_NAME = "STRCTLSZ"
KC_PARAM_STATUS = "1024"
KC_PARAM_NAME = "STRMSGSZ"
KC_PARAM_STATUS = "0"
KC_PARAM_NAME = "acctresume"
KC_PARAM_STATUS = "4"
KC_PARAM_NAME = "acctsuspend"
KC_PARAM_STATUS = "2"
and so on and on....

love computers
Verónica Muñoz Segovia
Frequent Advisor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Once again thanks for all yours replies.

Just to let you know this is not a database server this is an application server, this server runs mqm series, this is connected to a database server and this database server sends information to it.

I have a doubt regarding Clay Shtephenson replay about NFS, I have a database server that also have an exported filesystem and in this people store its information, what are the recomendations for a server like this if this have:

dbc_min_pct = 2
dbc_max_pct = 2
bufpages = 1992
nbuf = 1824
HP-UX 10.20 and Oracle 7.3.4

Regards

Veronica
Always is important to know the opinion of other people with or without experience
eran maor
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi

the recomendations of Clay seem to me also o.k
i dont think that defineing the dbc_max_pct = 2 is o.k , i will change it to 8-10 .

also check the shmmax param for the oracle .

also Clay is one of the best knowlege pepole that i met in the forum ( look at him answer you will get a lot of info ) .

and also if you computer is a NFS server here is a list of the patches for NFS
love computers
Sanjay_6
Honored Contributor

Re: tuning issue dbc_min_pct dbc_max_pct bufpages nbuf

Hi Veronica,

In case you have some performance issues with NFS, you can try these two patches.

s700_800 10.20 NFS/NIS cumulative Megapatch (PHNE_22288)
s700_800 10.20 NFS Kernel General Rel & Perf Patch (PHNE_22877)

Hope this helps.

thanks