RE: Solaris 10 and Oracle 10g - swap space problem
- From: "Matthew Zito" <mzito@xxxxxxxxxxx>
- To: <Jon.Crisler@xxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
- Date: Wed, 29 Jul 2009 01:19:43 -0400
Solaris, perhaps just as of Solaris 10, uses an aggressive swap allocation
method for at least shared memory segments. So, for every meg of SGA, it
pre-allocates a block of swap space.
When I'm back in the office/home next week, I'll see if my solaris kernel
internals book has anything more informative.
Thanks,
Matt
-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx on behalf of Crisler, Jon
Sent: Tue 7/28/2009 7:31 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Solaris 10 and Oracle 10g - swap space problem
On Solaris 10, when I start my databases, I see my swap space usage increase in
a one for one ratio with memory utilization. System has 64gb of memory. If I
start up a 4gb database, I see 4gb of real memory used and 4gb of swap space
used up as well (as shown by top, swap -l, swap -s etc.). This is purely a
Oracle database server, and /etc/system and projects / resource controls seem
to be set up, so I do not understand why swap is being touched. If I stop all
oracle processes, swap drops down to about 100 Mb used.
I have taken great pains to make sure that NO swap is being used, yet any
little allocation of Oracle gets tossed into swap. I don't know where to look
after this- I would have suspected /etc/system or resource control / projects
to be at fault, or /etc/security (ulimits) but everything looks ok. The
system has 64g real, and about 54 gb swap- if I get close to 54gb memory
allocated oracle will return out of memory errors.. Needless to say the system
crawls.
What am I overlooking ? TOP and swap -s / swap -l agree so its not a TOP
anomaly
Example from TOP - I have 20g free, so why so much used in swap ?
load averages: 0.64, 0.57, 0.46
00:26:34
1073 processes:1071 sleeping, 2 on cpu
CPU states: 98.3% idle, 1.2% user, 0.5% kernel, 0.0% iowait, 0.0% swap
Memory: 64G real, 20G free, 40G swap in use, 17G swap free
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
1997 oracle 1 39 0 4376K 2592K cpu/50 0:02 0.04% top
3454 oracle 1 52 0 16G 16G cpu/32 0:00 0.03% oracle
3456 oracle 1 24 0 16G 16G sleep 0:00 0.03% oracle
18589 oracle 1 59 0 16G 16G sleep 0:13 0.02% oracle
Swap -s
total: 39170184k bytes allocated + 2262264k reserved = 41432448k used,
18017608k available
Other related posts: