Re: Memory sizing - DBA question

From: Jay Mehta <jvmehta_at_mra.ffx.mobil.com>
Date: 1996/04/04
Message-ID: <4k1hij$72b_at_dlsn31.dal.mobil.com>#1/1


utrankar_at_nyc.pipeline.com (Sameer Utrankar) wrote:

>My questions are :
>
>1. All oracle background processes share the same memory ?
>2. Shadow processes also share the same memory as background proceses
>? Is that why shared memory of shadow process is assumed to be 0 ?
>3. When you run a tool - say sqlplus - shared and private memory of
>it is considered only once - regardless of how many users are running
>the same tool - why ?
>4. I always thought in any computer system, memory is always used by
>one or more programs. SGA does not figure anywhere in this calculation
>(and is added later separately) - what does that mean ? Which
>process(es) owns SGA ? All background processes ? None ? Why doesn't
>it figure into memory requirement of background processes ?
>
>On HP machine, using Glance Plus, when I look at memory usage of a
>process, it shows RSS and VSS parts (Resident and Virtual) and VSS is
>always more than RSS. Does VSS part include RSS ? Which one do I look
>at for doing the caculations, similar to tuning book ? VSS or RSS ?
>VSS figures seem to be more close to the book for sqlplus.
>
>Any help would be greatly appreciated.
>----------
>utrankar_at_nyc.pipline.com (Sameer Utrankar)
>All of us can't be heros. Someone has to sit by the curb and clap as they go by.
>

You have some very good questions. I had used Oracle Installation and Configuration guide for HP/UX and found it to be useful. Oracle manual doesn't go into details like shared memory and private memory requirements.

On UNIX platform, the memory requirement of the first user is probabely the maximum. Maybe that's why, in the book, shared memory of a tool is considered only once. The same executable is shared by all subsequent processes. This mechanism, I believe, is known as multi-threading. Maybe an Unix expert out there can help us out here.

On UNIX platforms, Oracle maintains a shared data structures in memory that's necessary for running an Oracle instance. SGA is also a shared by all Oracle processes.

The reason SGA isn't included in the initial calculation is that SGA is configurable by init.ora parameters. So you need to add SGA in your calculations,

The question I have for you is, Have you tried using ps to determine the memory used by the processes? Once I used glance and then I used ps, and I got different answers. Maybe I didn't exactly understood what type of memory each one represented.

Jay Mehta
DBA Received on Thu Apr 04 1996 - 00:00:00 CEST

Original text of this message