[CentOS] CENTOS 4.7 or 5.2 32 bits O.S. for ORACLE DB server??
warren at etr-usa.com
Fri Jan 16 20:45:21 UTC 2009
Adam Tauno Williams wrote:
> The comparison of PAE to EMS/XMS is completely bogus, the
> technologies aren't alike at all.
They are alike in that they add an extra layer of indirection to work
around the fact that the pointer size cannot change.
> PAE does *NOT* involve any bank switching;
I didn't use the term bank switching, but what it does do could well be
described by that term.
> a system using PAE can "address that 16 GB all at once".
I guess that depends on what you mean by "at once".
PAE doesn't change the fact that pointers are 32 bits, and so can only
address a 4 GB span. To access more RAM, the application has to somehow
ask the operating system to rejigger the processor's page tables to map
memory from a different place in RAM into its virtual memory space.
const unsigned long long GB = 1024 * 1024 * 1024;
char* p = (char*)malloc(6 * GB);
p += 5 * GB;
*p = 0;
It will fail twice on a PAE system. First, malloc() on that system
won't be able to give you a 6 GB chunk of continuous RAM. Second, if
you replace the malloc() with the OS's nonstandard way of accessing more
RAM in PAE mode (mmap() on Linux, different mechanisms on other OSes)
the pointer arithmetic will wrap around instead of doing the right
thing, so the memory write will go to the wrong place in RAM.
Reboot that same system into a 64-bit OS, and the code above should
work, ulimits willing.
Quoting from that page:
"The operating system uses page tables to map this 4 GB address space
into the 64 GB of RAM, and the map is usually different for each
process. In this way the extra memory is useful even though no single
regular application can access it all simultaneously."
> There is a, usually very small, performance penalty to PAE due to the
> using a three level verses a two level page directory.
Yes, as I said, "a little slower". The last numbers I heard were in the
2% sort of range; I can see 10% at most. The overhead comes not just
from the 3-level indirections, but also from the need to keep remapping
the process's VM window into the larger RAM space, and that there's more
work to update the page tables on each context switch.
All this aside: you aren't seriously trying to talk this guy into using
PAE mode, are you? Are you not, in fact, just being pedantic, yet agree
with me on the most important point, which is that he should be using a
64-bit OS and application here?
More information about the CentOS