Re: Server is swapping with free memory available

  • From: Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx>
  • To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 21 Mar 2019 08:30:22 +0000


I find it really annoying that I can read through what I've typed and not spot 
a painfully obvious error.

With apologies: 

"If you're not using page tables ..."

should read

"If you're not using huge pages ..."

You've reported that you're using 18GB of page tables:
"PageTables:     18661352 kB"

That's space for 2,388,653,056 pointers to pages - and each page is current 4KB.
In other words you're holding maps for roughly 9 Terabytes of memory - on a 
machine with 512GB of memory.
This happens because every process keeps its own map of the memory it is using.

If you switch to huge pages each pointer would point to 2MB rather than 4KB, 
and that 18GB of pointers would have been 37MB.

Regards
Jonathan Lewis


________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx>
Sent: 20 March 2019 08:14
To: dimensional.dba@xxxxxxxxxxx; mark@xxxxxxxxx; nupendra@xxxxxxxxxxx
Cc: gogala.mladen@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: Re: Server is swapping with free memory available


Following up on Niall's comment about huge pages and page tables.

If you're not using page tables then each session has a memory map based on a 
4KB page size - and each pointer in the map is 8 bytes.

If it takes 8 bytes for a session to find a 4KB page, for every 512 sessions 
you need 4KB of map for every 4KB of mapped memory - in other words if you have 
512 processes connected to an Oracle SGA then you're using as much memory in 
the maps as you are in the SGA.


As someone else said - there could be some effect of a spike that has passed 
with memory now reloading from swap. The spike might simply have been a sudden 
large jump in the number of connected sessions.

Regards
Jonathan Lewis

________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Upendra nerilla <nupendra@xxxxxxxxxxx>
Sent: 20 March 2019 03:26:29
To: dimensional.dba@xxxxxxxxxxx; mark@xxxxxxxxx
Cc: gogala.mladen@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: Re: Server is swapping with free memory available

Not using hugepages as of now, I am looking into implementing it though.


________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Mark J. Bobak <mark@xxxxxxxxx>
Sent: Tuesday, March 19, 2019 8:36 PM
To: dimensional.dba@xxxxxxxxxxx
Cc: gogala.mladen@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: Re: Server is swapping with free memory available

Arr you using hugepages?

On Tue, Mar 19, 2019, 19:40 
<dimensional.dba@xxxxxxxxxxx<mailto:dimensional.dba@xxxxxxxxxxx>> wrote:

Is your database currently swapping as in active pages moving in and out of 
swap?

vmstat 5 200



Does the si and so columns have anything besides 0?



Or do you just have swap being consumed by processes from some previous over 
whelm of memory event?



What specific processes are using swap?



Need to run as root to see everything

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print 
""}' $file; done  | awk '$3 == "kB" && $2 != 0 {print $1" "$2" "$3 }'











Matthew Parker

Chief Technologist

Dimensional DBA

Oracle Gold Partner

425-891-7934 (cell)

D&B 047931344

CAGE 7J5S7

Dimensional.dba@xxxxxxxxxxx<mailto:Dimensional.dba@xxxxxxxxxxx>

View Matthew Parker's profile on 
LinkedIn<http://www.linkedin.com/pub/matthew-parker/6/51b/944/>

www.dimensionaldba.com<http://www.dimensionaldba.com/>





From: oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx
<oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx>> On Behalf 
Of Mladen Gogala
Sent: Tuesday, March 19, 2019 3:52 PM
To: oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>
Subject: Re: Server is swapping with free memory available



Have you tried with FILESYSYSTEMIO_OPTIONS=ALL?



On 3/19/19 4:54 PM, Upendra nerilla wrote:



Hello everyone -

We have a database server which is choosing to swap though there is plenty of 
free memory.

Any pointers on what to check are much appreciated..



--

Mladen Gogala

Database Consultant

Tel: (347) 321-1217
--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


Other related posts: