| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Possible to turn off file system cache?
Dan Bikle wrote:
<snip>
> This is a huge memory size for a process. I can only make sense
> of it if I conclude that ps is adding shared memory to private
> memory in the display but that the process is not really 223584 kb.
> If I want to find the true size of the process I need to subtract
> 216062460 bytes from 223584 kb to come up with 12586 kb. This is
> still a large size for a process but we are talking about an Oracle
> process (Oracle software has a rep for being a resource hog).
>
> Actually, now that I think about it, one other scary scenario comes
> to mind:
> If a process connects to shared memory, that process makes a copy
> of that shared memory. Thus, when ps sees such a process it sees
> a truely huge process.
<snip>
Daniel,
Process size is very tricky. It does not (to the best of my knowledge)
include
any shared memory segments (correct me if I'm wrong here). It
definitely does
not COPY shared memory for each process. That totally defeats the
purpose.
Shared memory is simply attached to the processes memory as a pointer.
It does
include things like shared text which will be reported for each process
but only
occurs in memory once. Some of the processes pages can also be paged
out and
will not actually be taking up free memory. You can't just add up the
size column
in ps. There are too many things going on behind the scenes. If your
Oracle
processes have been running a long time, restarting them (if that's an
option on
your system) will reduce their size considerably. You could also try
reducing the
size of your SGA.
When the system boots, it tells you how large the kernel is and how much
memory
is left for oracle and other processes. Look at the sysdef command to
see the
values of the file system tunables. I doubt they are very big.
Memory is used by the kernel, user processes and IPC (semaphores, shared
memory,
message queues and pipes). You can reduce the kernel size through
tuning, reduce
SGA size in init.ora (200 meg sounds too large to me, even for a huge
database),
or reduce number of processes (oracle and others). Check to see if
there are
other large processes (maybe runaways) or leftover message queues or
shared memory
segments.
Your large SGA size may have an indirect effect on the size of the
background
processes, now that I think about it. Try reducing it and see what
happens.
This could also be a memory leak bug. Check with Oracle support.
-- --- Allen Kirby AT&T ITS Production Services akirby_at_att.com Alpharetta, GA.Received on Tue Apr 22 1997 - 00:00:00 CDT
![]() |
![]() |