1834804 Members
2379 Online
110070 Solutions
New Discussion

dbc_max_pct decrease

 
rx71
Advisor

dbc_max_pct decrease

Hello,
we are on HP-UX 10.20 Oracle db servers, default installation of HP-UX sets dbc_max_pxt to 5:50 % of memory. We have set it to 20:20 (according to Oracle recommendations) and memory utilization has decreased, but system load is twice then before. Does anybody have any ides why ?

TIA.
Roman
#include
7 REPLIES 7
Andy Monks
Honored Contributor

Re: dbc_max_pct decrease

It all depends on what they are waiting for. It can be a good thing!. If they were sleeping before on I/O's and now they are sleeping waiting for cpu time, then that's a good thing and your've actually made things better.

System load etc, isn't a good indication of machine performance. I'd ask the users what they think.
rx71
Advisor

Re: dbc_max_pct decrease

I have MeasureWare data and can't find any botlleneck - CPU util is OK, just Memory util increases...

Roman
#include
Nick W
Frequent Advisor

Re: dbc_max_pct decrease

Roman,

Please could you clarify what you would like.
In your initial post you say "memory utilization has decreased", now you are saying "Memory util increases... " - please giveus some examples.
Andy's answer seems quite plausible - what feedback have you had from the users?

Nick
Shannon Petry
Honored Contributor

Re: dbc_max_pct decrease

This paramater is one of the few things I disagree with Oracle on.
By setting it 20:20 you have forced the buffer allocation size to be 20% of your memory (whether it needs to be or not!).
While I agree that a buffer of 50% of your system memory is too high, depending on the size of your database the 20% may also be too high.
Sorry but a system with 8GB of RAM running with dbc_max...20:20 forces the allocation to @1.5GB. This is much different than a system running with 2GB of RAM for which the dbc_max...20:20 would force buffers of @512M.

Depending on the system you can set the high end at 20% to ensure that too much is never allocated to a buffer, but a low number means that the buffer can be smaller. Trust me, oracle is smart enough to request the correct buffer size, so too small should never be a concern.
I would recommend replacing this parameter with 2:20 for a 4GB system. Do the math if you have more or less memory in the system.

Regards,
Shannon
Microsoft. When do you want a virus today?
Carlos Fernandez Riera
Honored Contributor

Re: dbc_max_pct decrease

dbc_max_pct for hp-ux and db_blocks_buffer are both space in memory to reduce I/O (cache).

If your datafiles resides on filesystem ( not raw) i would prefer add cache to oracle.

About why, it could be your system were doing swap, because not memory availabe, and then when you measure system load with sar you were see a high I/O, and more %idle. Once your system has sufficent memory , process are not waiting for I/O so they can run more time in CPU, so it seems %idle has increased, that are what you want. So I agree with Andy.

This is just a idea; tunning is not a science for me, it is art.



unsupported
rx71
Advisor

Re: dbc_max_pct decrease

Sorry for confusion, after dbc_max_pct decrease:
-CPU util seems the same (MWA),
-memory util decreases - was high (dbc_max_pct 5:50) (but no process was waiting for memory before, no process is waiting for memory now - according to MWA),
-system load is 5-8, users says the system is lazy :)

Roman
#include
Carlos Fernandez Riera
Honored Contributor

Re: dbc_max_pct decrease

Are your filesystems HFS?

Run sar -v 5 5 and look at inode colmuns.

hfs and ninode kernel parameter could be the reason of lazy system.

unsupported