[lkml]   [2009]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectQuestion regarding Page Table size
Dear Kernel gurus,

i have a simple question but until now i did not find an answer. I beg your apologize if my question is misplaced.

So my question is:

"How much memory is needed in the kernel page table for a
process accessing a shared memory segment?"

According to the information i have and found at the web the rule is:

"4 Bytes per 4 KB referenced memory per process is allocated
in the page table"

However i found one note saying because shared memory is
referenced 8 Bytes are needed:

PageTables is memory to manage memory.

Each entry takes 4 bytes. Each 4 Kb of virtual (not swap)
memory requires one PTE to manage. This also counts for
shared memory, as with shared memory there is one physical
segment, but each process has its own virtual memory which
maps to this segment.

In Oracle’s case, assuming an SGA of 2 Gb, that is:

524,288 pages * 8 bytes = 4 Mb per process

--- END QUOTE ---

Until now i was not able to verify this information. So i am asking here
for more information or perhaps a link.

Where does the 8 byte in the calculation above come from?

Taking the above example with a 2 GB shared memory segment the space
needed in the page table should be:

524288 pages * 4 Bytes = 2 MB
(for the process "owning" the shared memory segment)


524288 pages * 4 Bytes = 2 MB
(for *every* process referencing the shared memory
segment assuming the fact the shared memory segment
is referenced completely)

Could anybody please give me a hint?

Thanks in advance

Ronny Egner
Ronny Egner

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2009-10-06 10:25    [W:0.066 / U:6.208 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site