Message from discussion Large pages
Received: by 10.68.138.14 with SMTP id qm14mr9230417pbb.5.1352827417975;
Tue, 13 Nov 2012 09:23:37 -0800 (PST)
NNTP-Posting-Date: Tue, 13 Nov 2012 11:23:37 -0600
From: "Jonathan Lewis" <jonat...@jlcomp.demon.co.uk>
References: <firstname.lastname@example.org><k6mdnUJ8sKBzgD3NnZ2dnUVZ8gWdnZ2d@bt.com> <email@example.com><firstname.lastname@example.org><SP-dnT2X5t05uz_NnZ2dnUVZ8tadnZ2d@bt.com> <email@example.com>
Subject: Re: Large pages
Date: Tue, 13 Nov 2012 17:24:32 -0000
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
"Mladen Gogala" <gogala.mla...@gmail.com> wrote in message
| On Tue, 13 Nov 2012 10:53:26 +0000, Jonathan Lewis wrote:
| > I can't work out from your statement exactly which bit of what I've
| > is not correct. Could you please clarify.
| Jonathan, the part that is not correct is about every process on Unix
| having its own page table. Page tables for shared memory are also shared.
| There is one per segment, not one per process.
The reason that I referenced Christo's video and notes is that he has
results that agree with my comment and contradict yours. From the text:
As discussed earlier, each process has a page table. This page table is
private for the process and cannot be shared. (Solaris is different in this
In Oracle, there is usually a large shared memory segment shared amongst
multiple processes. Each process still has a page table that is maintained.
For example, for a 1.7 Gb SGA (the typical 32-bit limit), 445,440 x 4 Kb
pages are needed. We would need 445,440 leaf PTE entries times 4 bytes
each - that's about 2 Mb. Each process would need a PTE table that is 2 Mb
in size to fully describe its 2 Gb of mappings. If you have a large number
of processes, say 1000, then you will need 2000 Mb of RAM to manage a 1.7
Gb SGA. Quite inefficient.
a) he does mention Solaris and intimate shared memory - and explains that
shared page tables are possible
b) the article is dated Dec 2007 - so things may have changed
Do you have any specific versions of Unix in mind when you state that the
page table for a shared memory segment is automatically shared ? Is this,
perhaps a specific default for OEL.
Author: Oracle Core (Apress 2011)