Re: Solaris 10/Oracle 9 memory problems - but I can't see why ...
Date: Mon, 20 Apr 2009 08:16:07 -0700 (PDT)
Message-ID: <84519492-c88f-4e88-8147-d2dabb4b9468_at_r36g2000vbr.googlegroups.com>
On Apr 20, 9:26 am, Neil Cudd <neil.c..._at_blueyonder.co.uk> wrote:
> Hello,
>
> Solaris sparc 5.10 running Oracle 9.2.0.764 bit EE.
> The server has 2Gb physical memory.
> The (offshore) unix monitors are telling me the server is running out
> of memory. They won't tell me anything else. I guess they think that'd
> take the fun out of it.
> There is one oracle instance with a total sga of 380Mb
> There isn't anything else running (other than BMC Patrol and a Java
> process).
> My unix skills are shaky, but prstat gives the following (editied for
> highlights) :
>
> PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/
> NLWP
> 1104 patrol 42M 36M cpu0 0 10 3:19:43 1.1% PatrolAgent/
> 1
> 3035 oracle 456M 437M sleep 59 0 0:02:39 0.0% oracle/12
> 3098 patrol 450M 444M sleep 59 0 0:11:19 0.0% oracle/1
> 3097 patrol 18M 10M sleep 59 0 0:04:27 0.0% sqlplus/1
> 3047 oracle 456M 438M sleep 59 0 0:00:02 0.0% oracle/11
> 3037 oracle 452M 434M sleep 59 0 0:02:08 0.0% oracle/12
> 3031 oracle 450M 429M sleep 59 0 0:01:44 0.0% oracle/1
> 3043 oracle 449M 433M sleep 59 0 0:00:39 0.0% oracle/1
> 3045 oracle 449M 437M sleep 59 0 0:00:37 0.0% oracle/1
>
> A couple of questions :
> Is this output saying that each of those oracle processes has 400+Mb
> memory allocated to it (can't be surely..)
> Is there anything anyone can suggest to identify just what is eating
> all the memory ?
>
> Many thanks for any advice,
> Neil
Yes, it is. SIZE is the total virtual memory size of the process, including all mapped files and devices, in kilobytes (K), mega-bytes (M), or gigabytes (G). RSS is really what you need to be looking at, since that is the resident set size of the process (RSS), in kilobytes (K), megabytes (M), or gigabytes (G). The RSS value is an estimate that might underestimate the actual resident set size. To get a more accurate usage figure Sun recommends using the -x option to pmap instead. Of course you can always use the -t option to prstat:
$ prstat -t
NPROC USERNAME SWAP RSS MEMORY TIME CPU
28 oracle 2270M 2350M 7.2% 3:10:11 0.1% 58 root 225M 380M 1.2% 1:30:40 0.0% 1 sys 1008K 2504K 0.0% 0:00:00 0.0% 3 ctsa 4008K 8600K 0.0% 0:03:13 0.0% 1 smmsp 1456K 8672K 0.0% 0:00:02 0.0% 1 noaccess 106M 180M 0.5% 0:04:46 0.0% 6 daemon 10M 12M 0.0% 0:00:02 0.0%
which reports the total usage summary for each user, which includes the total number of processes or LWPs owned by the user, total size of process images, total resident set size, total cpu time, and percentages of recent cpu time and system memory.
David Fitzjarrell Received on Mon Apr 20 2009 - 10:16:07 CDT