Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Percentage of memory to leave for Solaris
In article <7qhf2t$7vi$1_at_nnrp1.deja.com>,
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.
Sorry, you are totally wrong with your memory
calculations. The most part of these 78mb of memory
is the size of SGA. It is shared memory area so it
belongs to all oracle processes and every process reports
it as its own memory. For example, on my server there
is 768mb RAM, SGA size is about 170mb, and
top utility reports 80-160 oracle processes with 170-190mb
memory each.
If you want to know how much memory every process is really
using, use the following:
select a.sid, b.serial#, b.osuser, b.machine, b.terminal, b.program, a.value memory from v$sesstat a, v$session b where a.statistic#=20 and a.sid=b.sid order by memory;
it sorts processes by memory usage so most memory consuming processes are at the bottom.
And 78mb SGA size at 4gb Sun is so tiny that you can enlarge it 30 times without any problems :) And because of small SGA, you have a lot of disk I/O. There are many variables to change, most important of them are db_block_buffers and shared_pool_size. Increase them what you think is appropriate.
Hope this helps.
Nightwalker
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Wed Sep 01 1999 - 01:01:35 CDT
![]() |
![]() |