Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Percentage of memory to leave for Solaris

Re: Percentage of memory to leave for Solaris

From: Thiru <tmgn_at_excite.com>
Date: Wed, 01 Sep 1999 15:42:17 -0400
Message-ID: <37CD8199.974E5674@excite.com>


Hi there,
I am reposting Memory Utlisation on Solaris from one of my earlier repies ..Find out if each of U'r processes are really using 78 Megs of Memory ..

Memory should be partitioned for
SGA + Oracle Processes + Sort_Area_Size(per User session) + Os Kernel memory + Drivers etc

The first thing to remember is that vmstat prints out averaged rates, based on the
difference between two snapshots of a number of kernel counters.The first line of output is printed immediately, hence it is the difference between the current value of the counters and zero. This works out to be

the average since the system was booted. It is best to disregard the first line.

Secondly you need to Understand that the Vmstat 'Free' value is simply the size of the free list ( that Solaris maintains like Oracle Buffer Cache) in Kilobytes..When Memory is requested it is fed from the Head of

the Free List .

The size of the Free List is dynamically set by the Kernel depending upon the Memory availability.In other Words,even if you add 10GB of Memory, still Vmstat would report a very small amount of 'FREE' memory which could mislead people.

This is perfectly logical becos Solaris doesnt believe in wasting valuable Memory Space. Remember that Disk Read is atleast 10000 times slower than Memory read...

How else we could make use of Vmstat output ? The Answer is to look onto ' sr' ( Scan Rate ) and ' fr ' (Freed Rate ) columns ..

If 'sr' is zero or close to zero , than we can be sure that the System does have Sufficient Memory..If it is always high ,then adding more memory would help..or dont create any more Instances on that Server...

One More Important thing you need to Understand is the 'ps' output as regarding Oracle Processes..Remember that Oracle on Solaris makes use of

ISM(Intimate Shared Memory) which is a memory region shared by multiple Processes .The 'SZ' column maight be misleading as it includes part of SGA !! The Correct way to calculate the Process Size is as follows :

ps -ef -o user,rss,args|grep oracle|pg

The O/p is in KB(say PS_SIZE) and includes the SGA size

So the actual process Size is PS_SIZE * 1024 - { SGA size in bytes }

The pi/po activity may be higher , but you need to take care 'fr' and 'sr rates to find out if U'r System is swapping..

Also Determine U'r Database hit Ratios using Utlbstat/Utlestat reports and tune the DB_BLOCK_BUFFERS or SHARED_POOL_SIZE accordingly ..Never allocate more SGA than it is required..

Hope this helps..

-Thiru

rickp7011_at_my-deja.com wrote:

> I have a similar problem/question. I have a sun
> 4500 with 4gig of memory and oracle is running
> about 50 differenc oracleXXXX processes each of
> which take up 78meg of memory. The box is
> reporting a high number from vmstat in the de
> column and there is constant po/pi activity.
> This database is not running in multi-thread mode
> (I think that the oracle termiology) so there
> seems to be one of these 78meg processes for each
> connection. How can you tell oracle to leave 30%
> memory for the OS? How can you make these
> processes smaller? Most are sleeping with zero
> accumulated cpu.
>
> In article <37CBB5B0.4012_at_yahoo.com>,
> connor_mcdonald_at_yahoo.com wrote:
> > tao_foos_at_my-deja.com wrote:
> > >
> > > What percentage (or total amount) of memory
> should one leave available
> > > to the OS for Solaris SunOS v5.6 (after
> allocating the SGA for Oracle).
> > > For example on a Box w/ 3GB of RAM would the
> SGA get swapped or paged
> > > out if the SGA plus user memory took up about
> 2.5 GB if only Oracle is
> > > running on the Box. Just looking for a
> general Guidline.
> > >
> > > Thanks,
> > > Ted Andrews
> > >
> > > Sent via Deja.com http://www.deja.com/
> > > Share what you know. Learn what you don't.
> >
> > Depends on your user base...Each user
> connection will take up memory if
> > you're using dedicated servers...
> >
> > In the absence of any other info, I think
> leaving a gig of memory for
> > the O.S would be more than adequate
> > --
> > ===========================================
> > Connor McDonald
> > "These views mine, no-one elses etc etc"
> > connor_mcdonald_at_yahoo.com
> >
> > "Some days you're the pigeon, and some days
> you're the statue."
> >
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
Received on Wed Sep 01 1999 - 14:42:17 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US