ON AIX Oracle Process ULSA Memory

It’s been long time i have blogged anything but few days back was researching some issue with my friend and came to know this issue not exactly an issue but a feature which can consume more oracle process memory on AIX due to Large USLA Heap Segment.

Here are the details for oracle process consuming memory while doing nothing


Unit: page
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual
19071118 oracle 2131887 8832 1264 2133518
...............................................................................
SYSTEM segments Inuse Pin Pgsp Virtual
12619 8784 528 13067
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
20002 0 work kernel segment m 617 549 33 645
50005 9ffffffd work shared library sm 2699 0 0 2699
e000e 9ffffffe work shared library sm 37 0 0 37
31cab9b 8fffffff work private load data s 11 0 0 11
...............................................................................
EXCLUSIVE segments Inuse Pin Pgsp Virtual
4401 48 0 4401
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
370aff7 11 work text data BSS heap m 125 0 0 125 <--Around 8MB Doing Nothing
380af07 80020014 work USLA heap sm 1873 0 0 1873 <--Around 7.3 MB In USLA
5aa8dd 9001000a work shared library data m 23 0 0 23
2afaa28 f00000002 work process private m 5 3 0 5
3945314 ffffffff work application stack m 4 0 0 4
22da2aa 8001000a work private load data m 1 0 0 1
3bfaf38 fffffffd work application stack m 0 0 0 0
204ae83 fffffff2 work application stack m 0 0 0 0
38caf0b fffffff9 work application stack m 0 0 0 0
21caa9b fffffff8 work application stack m 0 0 0 0
15a492 fffffff4 work application stack m 0 0 0 0
5e3cdd fffffff5 work application stack m 0 0 0 0
1788dfa fffffff3 work application stack m 0 0 0 0
17aadfd fffffffa work application stack m 0 0 0 0
222aea5 fffffff0 work application stack m 0 0 0 0
1c9ad4e fffffffc work application stack m 0 0 0 0

As, you can see oracle process is using around 8MB memory(64k Pages), But interesting thing is second line where it’s using 7 MB of memory and it’s persistence across all process. So, imagine if you have 1000 session’s than this will be  6.8 GB of whooping memory.

Here is the explanation from oracle note

11gR2/Aix – Dedicated Server Processes Have Large Usla Heap Segment Compared To Older Versions (Doc ID 1260095.1)

CAUSE

In 11gR2, the Oracle server process (oracle binary) is linked with an additional linker options:-bexpful and -brtllib.The -bexpfull and -brtllib linker options were added to implement the Oracle hot patching functionality.

In the previous releases of Oracle 11gR1, 10g and 9i, the -bexpful and -brtllib ld options are not used.

USLA heap usage from an “svmon -p of an Oracle server process” would be around 1800 4KB pages (~7MB) and this USLA heap is process private. This is needed for Oracle on-line patching: a new functionality implemented in 11gR2. With this feature, global symbols in the Oracle binary are saved in USLA heap for resolving the new object files in the shared libraries included in a patch.

Oracle has created fix in Bug 10190759
Abstract: PROCESSES CONSUMING ADDITIONAL MEMORY DUE TO ‘USLA HEAP’

Fix Notes:
With this interim patch it is possible to relink oracle by specifying :
make -f ins_rdbms.mk ‘EXP_OPTS=$(EXP_OPTS_OFF)’ ioracle
to remove -bexpfull and -brtllib link options and
make -f ins_rdbms.mk ‘EXP_OPTS=$(EXP_OPTS_ON)’ ioracle
to add them back.

About these ads

About Taral
I am Rookie to Oracle Technology so let's see where it goes

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: