HEMI-Powered said:
Today, John John made these interesting comments ...
John, please read my last. It matters not what you say, whether
or not you are correct. It only matters what I see. I am not the
dummy you think, but also not an expert. I can count all the way
to 32 with only 2 fingers so I can discern the memory space
width, but really no longer care as there is no good way to
"recover" my "lost" gig, I gave up some time ago, and no amount
of badgering from you is going to convince me to make another
fool's errand, one of which is to buy XP-64.
That is fine by me and I'm not trying to convince you to buy anything.
However, you should refrain from posting incorrect information on the
subject, information such as: "Windows steals 1(gb) of (memory), so the
max that is allegedly available is 3, with a normal total in the 2.5 gig
range." Your experience and findings are helpful to other users but
broad incorrect statements only serve to muddle the issue further.
Readers should understand that in your case your high end computer is
trying to use about 5GB of total memory and XP can only handle a total
of 4GB. Their findings may differ from yours, the RAM recognition limit
is different from computer to computer.
I agree that Microsoft should spell this out more clearly and inform
users of the shortfall of their operating systems with regards to the
4GB RAM issue. But even more at fault are hardware vendors who
conveniently omit to tell their customers of the shortfall or who
deliberately chose to hide the dirty little 4GB RAM secret. Call any
major computer supplier and tell them that you want a box fully loaded
with 4GB RAM and Windows 32-bit pre-loaded and not one will inform you
of the shortfall or suggest that you buy 3GB of RAM instead of 4, not
one will tell you to save your money and not buy the nearly useless last
stick of RAM. Call Dell and tell them that your existing Dell box has 2
gigs of RAM and that you want to add another 2 gigs so that your XP Home
Edition will perform better and they will happily send you the extra RAM
at a much inflated price, but they won't tell you that you might end up
only seeing 3.25 or 3.5 GB of RAM after you install it in the box.
For the benefit of others reading this thread here is the simple
explanation as to why Windows XP might not see all the RAM installed on
your computer:
The problem that you are seeing is based on an older architecture
design for memory addressing. All the systems architecture up to this
point were based on a maximum of 4GB of total memory. Nobody really
thought, when this standard was designed, that this amount of memory
would actually be in use. The problem that has happened is that you
have PCI devices that require memory address ranges so that they can
properly execute their commands. These address ranges were mapped in
the upper sections of this maximum amount. Since nobody thought you
would be using up to 4GB these address ranges started around the last
500MB of the memory ranges. This range is called the T.O.M. or Top of
Memory range. This is the point in the bios where it places on hold the
amount of memory that is required by the various PCI devices that are
found on the motherboard. Thus when you have PCI cards or AGP cards
installed on your motherboard these devices hold on to memory for their
own use and take away from the maximum amount of memory that is
available for other tasks. This amount of memory can vary from a little
as 200MB all the way to 1GB of memory (or even more in select cases). It
just depends on the PCI devices you have and the amount of PCI
(including AGP) that you have installed all at once.
There is really no way to get around this basic design limitation. The
only way to get around these type of issues is to use certain new
designs that have brand new architectures (i.e 64-bit designs) that
allow memory to be mapped in area's above 4GB. The brand new Intel Xeon
designs and the AMD Opteron designs are built around 64-bit technology.
This is only ½ of the equation that you would need to find success.
You would also need to use an OS that is actually PAE or PAE aware so
that it is able to address memory above the 4GB level. To find out
about PAE you can search Microsofts website for PAE (Physical Address
Extensions) and it will explain this concept and what OS's actually are
capable of providing this benefit. Windows 2000 and Windows 2003 would
fit both of these criteria. Windows XP on the hand would not allow this
type of ability.
Microsoft has addressed this type of issue in the following Microsoft
Article (291988)
http://support.microsoft.com/default.aspx?scid=kb;en-us;291988
[End quote]
http://www.tyan.com/archive/support/html/memory_faq.html
You missed the third leg for PAE; the application has to have code
that takes advantage of it. When I was playing with this, 8 years
ago, the only code I knew of was Oracle. I assume that MS SQL server
did, also.
PAE does not solve the problem of how big each code or data segment
segment can be. That is always 32 bits. An application that gets too
big for the 3GB limit can either rework the code to use overlays or
add calls to PAE to do segemnt switching, which is faster but still
has overhead.
I have an unconfirmed rumor that Photoshop CS3 (in beta) supports PAE.