1836459 Members
2687 Online
110101 Solutions
New Discussion

Memory Usage

 
FredLam
Occasional Contributor

Memory Usage

I've a HP UX Server (B.11.11 U 9000/800 83399158)

From GlancePlus
Total VM : 2.09gb Sys Mem : 1.23gb User Mem: 756.8mb Phys Mem: 4.00gb
Active VM: 680.4mb Buf Cache: 1.98gb Free Mem: 57.4mb

There are 2 oracle instance running
DB1 : Total System Global Area 252013040 bytes
with 26 dedicated processes
DB2 : Total System Global Area 114191048 bytes
with 13 dedicated processes

I have questions
1. Why just only 57.4 MB Free Memory
2. Why each Oracle dedicated process consumes 70 ~ 130 MB

Thanks in advance.
6 REPLIES 6
nanan
Trusted Contributor

Re: Memory Usage

Hi FredLam

Your system parameter related with memory management is set to too high

It may be dbc_max_pct = 50%
you can reduce this value to 10~15%
along with dbc_min_pct must be less then dbc_max_pct.

you can get more physical memory to allocate


Regards
nanan

spex
Honored Contributor

Re: Memory Usage

Hi,

1) You are most likely using default settings for a dynamic OS buffer cache, which grows to consume nearly all available RAM. Currently, your buffer cache is consuming half of your physical RAM (Buf Cache: 1.98gb). As was already suggested, you should reduce the amount of memory dedicated to buffer cache by setting kernel tunable 'bufpages' to a fixed value and 'nbuf' to zero.

System performance will be greatly improved by allocating this unused RAM to Oracle's buffer cache (which does a much better job of caching data than the OS buffer cache). See the attached "HP-UX Performance Cookbook" for more information.

2) What you're referring to is called the 'PGA' or 'Program Global Area', which is created for each Oracle session. This region contains data and control info for a session. Under Oracle 9i and later, PGA size for dedicated server connections is determined by the DBMS based on PGA_AGGREGATE_TARGET.

PGA size for shared server connections is determined by SORT_AREA_SIZE, HASH_AREA_SIZE, and a few other parameters.

These parameters are set in init.ora.

In both types of connection, a small portion of PGA is dedicated to OS overhead, and cannot be changed.

PCS
Bill Hassell
Honored Contributor

Re: Memory Usage

You WANT Oracle to use as much memory as the DBAs can allocate for performance. 4Gb with a couple of instances of Oracle is pretty low, as are the two SGA areas. By using Oracle's memory features, you can significantly improve performance (2 to 8 times better) but you'll need to double your memory.


Bill Hassell, sysadmin
FredLam
Occasional Contributor

Re: Memory Usage

Thanks for information and the attached guide. That is really helpful.

But both bufpages and nbuf are already Zero.

:D
Bill Hassell
Honored Contributor

Re: Memory Usage

bufpages and nbuf are always zero when dbc_max_pct and dbc_max_pct are set. The actual buffer cache size can be seen in the 'm' screen in Glance. From your example, it is currently 1980 megs (2Gb) which means dbc_max_pct is WAY too high. Drop the maxpct value to 20. Now that gives you about 1000 megs of free space to add to the Oracle SGA for improved performance.


Bill Hassell, sysadmin
FredLam
Occasional Contributor

Re: Memory Usage

The memory usage is reduced by setting dbc_max_pct from 50 to 20 when both bufpages and nbuf are zero.