4GB memory on win XP

J

Jeff Barnett

I know that I will only be able to see/use a little over 3GB memory when
I upgrade the hardware to 4GB from 2GB. I'm doing this since I process
some fairly large files in PhotoShop - 130MB+ scans of old 4"x5"
negatives. I'm running XP Pro SP3 built on an Intel D925XECV2
motherboard using a work group (not a domain) and welcome screen.

Is there anything useful to be done with the "invisible" memory, e.g.,
use it as a RAM disk? If so, where do I learn how and/or what utilities
implement the usage? Lastly, should I just ignore the dead extra memory
or is there some real advantages to whatever solutions are available.

Thanks for any information or pointers.
 
P

Paul

Jeff said:
I know that I will only be able to see/use a little over 3GB memory when
I upgrade the hardware to 4GB from 2GB. I'm doing this since I process
some fairly large files in PhotoShop - 130MB+ scans of old 4"x5"
negatives. I'm running XP Pro SP3 built on an Intel D925XECV2
motherboard using a work group (not a domain) and welcome screen.

Is there anything useful to be done with the "invisible" memory, e.g.,
use it as a RAM disk? If so, where do I learn how and/or what utilities
implement the usage? Lastly, should I just ignore the dead extra memory
or is there some real advantages to whatever solutions are available.

Thanks for any information or pointers.

Actually, there is a solution. WinXP enables PAE by default (when
the latest Service Packs are used). And PAE is part of extending
the address space.

You can install 8GB of memory, on WinXP x32, and use this. Place
the Photoshop scratch disk, on the RAMDisk provided by this software.
The scratch disk will go very fast, and so will Photoshop commands
that have the Undo enabled.

(Look for the "Freeware" button. It's good for using 4GB of left
over memory. If you want to map even more RAM to RAMDisk, there
is a small fee involved for the payware version.)

http://memory.dataram.com/products-and-services/software/ramdisk

The only thing this can't fix, is if the image you're processing,
is itself larger than available memory (i.e. >3GB image file).
But that would be an unreasonably large photo to work on.

I have tested that product, using WinXP SP3 x32 on a machine with
6GB of RAM physically installed (2x2GB + 2x1GB DIMMs). This is
a HDTune benchmark, of the resulting RAMDisk I could make with
the software.

http://img196.imageshack.us/img196/8694/hdtunedataram2gbabove.gif

That software will work with more installed RAM, but I haven't
tested it with anything other than the 6GB setup.

The reason that is possible, is the RAMDisk in question runs
as a driver, in Ring0. There is no limitation in there, on
using PAE. It's the application space in Ring3 that has the
memory license to deal with. To learn more about the memory
license, and it's artificial limitation, you can read this
for background. In this article, the author of the article
bypasses the 4GB limit on Vista x32, for kicks.

http://www.geoffchappell.com/notes/windows/license/memory.htm

Paul
 
P

philo

Actually, there is a solution. WinXP enables PAE by default (when
the latest Service Packs are used). And PAE is part of extending
the address space.



<snip> Sorry for the blank reply/

Just wondering if you could provide more info as a while back I upgraded
my XP (32bit) to 4 gigs of RAM and if I look in the control panel it
states that PAE is enabled however only 3.2 gigs of ram is shown. What
else needs to be done to get al the RAM detected?
 
P

Paul

philo said:
<snip> Sorry for the blank reply/

Just wondering if you could provide more info as a while back I upgraded
my XP (32bit) to 4 gigs of RAM and if I look in the control panel it
states that PAE is enabled however only 3.2 gigs of ram is shown. What
else needs to be done to get al the RAM detected?

Memory hoisting lifts the 0.8GB of memory (or some fraction of it)
above the 4GB point. You may be able to access it for usage with
the RAMDisk product. (The area below 3.2GB can be seen by your
programs, while the 0.8GB area is used for peripheral bus
address map. But modern chipsets with memory hoisting, remap
the memory above 4GB. And then it takes either PAE access or
a 64 bit OS to get at the stuff up there.) The last time I
checked a chipset document, hoisting was done with a five bit field,
chopping the 4GB address space into 32 pieces. So the hoisting
granularity should be around 128MB chunks. Maybe some small portion
gets discarded, that isn't 128MB in size.

0.8GB Hoisted memory (remapped)
---------
0.8GB PCI Express/PCI bus addresses (video card memory etc)
3.2GB RAM

When I did the 6GB test case, I think it was easy to get the 2GB
working. I don't know if I could have bumped it to 2.8GB or not
(leaving the other 3.2GB for the OS). In fact, I may have considered
at some point, writing to the tech support for the RAMdisk, and
asking them why they couldn't access the 0.8GB part.

I suppose I can test that. Maybe a little later, as I have a
few things on the go right now. My machine currently has 4GB of
RAM installed, so at least the physical setup is there.
Windows reports 3,144,748K for physical memory on this machine.

You can also get some idea of the weirdness of memory mapping
on the computer, when you run memtest86+. Since it has become
4GB capable, it tests the memory in chunks smaller than that.
And the size of the chunks, may actually reflect the orientation
of the memory mappings used by the BIOS. I've noticed some
test portions run on a 1GB mapping, and later on a 2GB mapping.
As if the mappings are tailored to that hole and the problems
it causes. That's why, on the surface, the 0.8GB looks like
it can be used for something, but maybe the mapping just
doesn't work out that way for some reason.

Paul
 
P

philo


When I did the 6GB test case, I think it was easy to get the 2GB
working. I don't know if I could have bumped it to 2.8GB or not
(leaving the other 3.2GB for the OS). In fact, I may have considered
at some point, writing to the tech support for the RAMdisk, and
asking them why they couldn't access the 0.8GB part.

I suppose I can test that. Maybe a little later, as I have a
few things on the go right now. My machine currently has 4GB of
RAM installed, so at least the physical setup is there.
Windows reports 3,144,748K for physical memory on this machine.

You can also get some idea of the weirdness of memory mapping
on the computer, when you run memtest86+. Since it has become
And the size of the chunks, may actually reflect the orientation
of the memory mappings used by the BIOS. I've noticed some
test portions run on a 1GB mapping, and later on a 2GB mapping.
As if the mappings are tailored to that hole and the problems
it causes. That's why, on the surface, the 0.8GB looks like
it can be used for something, but maybe the mapping just
doesn't work out that way for some reason.

Paul


Does that mean that the system may be using the additional RAM even
though the control panel just shows 3.2 gigs?

Not really a bid deal as it's just a spare machine really
 
P

Paul

philo said:
Does that mean that the system may be using the additional RAM even
though the control panel just shows 3.2 gigs?

Not really a bid deal as it's just a spare machine really

No. It's not accessible by programs. With the x32 memory
license, that portion above 4GB can't be touched by
a program.

*******

And I just tested the RAMDisk with just my 4GB installed.
I was allowed to define a RAMDisk 2048MB in size, but not
larger. If I made a larger disk, I got an "AWE Error" in
Event Viewer. There should have been room to make a
larger RAMDisk than that.

It's possible that program is using more than one approach
for the RAMDisk. When more than 4GB is installed, it might
be using a different path, than if the RAMDisk will fit
within the memory normally used by programs. I think I
noticed this while testing it before (that I couldn't
get it to use the 800MB chunk). I think it should be
able to use that, but the program designer chose not to.

I did run a test case, using around 5GB of 6GB of RAM,
just to make sure I'd "broken the rule" about x32. What I
did, was I put the paging file on the RAMDisk, and loaded
programs until I went past the 3.2GB mark. And paging
performed smoothly and quickly. I didn't test it until
the pagefile was full or anything, but did take it
far enough to prove it was above 4GB. I ran that
particular test (placing pagefile on the 2GB RAMDisk)
for a couple days, and I ran into a couple anomalies.
One program errored out immediately after being
started. And another program, when it started,
it didn't have a GUI. I think I had to kill that
from Task Manager. I discontinued the test after
that, and haven't used the RAMDisk since (until today
that is).

Note - I did not test the newest version today, as
it tried to install .NET 4.0. I moved back to an
older version that doesn't install any .NET stuff.
And the older version, doesn't seem to be able to
touch the 800MB of hoisted memory that should be
accessible. Maybe the thing has a granularity of
1GB chunks ? I can't be sure about that. I don't
really know if PAE has any limits as to size of
mappings or the like. But I have noticed there
is something weird there, because of the way
memtest86+ behaves when using the BIOS provided
memory map.

Paul
 
P

Paul

Ant said:
Actually, there is a solution. WinXP enables PAE by default (when
the latest Service Packs are used). And PAE is part of extending
the address space.

You can install 8GB of memory, on WinXP x32, and use this. Place
the Photoshop scratch disk, on the RAMDisk provided by this software.
The scratch disk will go very fast, and so will Photoshop commands
that have the Undo enabled.

(Look for the "Freeware" button. It's good for using 4GB of left
over memory. If you want to map even more RAM to RAMDisk, there
is a small fee involved for the payware version.)

http://memory.dataram.com/products-and-services/software/ramdisk

Yep, I am using this too for my almost 2 GB for a pagefile.sys in my
old, updated Windows XP Pro. SP3 machine with 6 GB of RAM. I can't
really tell if it is faster than on my HDD, but whatever. However,
Windows XP Pro. SP3 only sees 2.5 GB and this RAM drive uses 2 GB. I
don't know where 1.5 GB went. :( The software' support guy said: "It is
an implementation in the BIOS as to whether or not the memory can be
accessed on the memory card that Windows is using. Since your machine is
older, it may not support it..." Does that make any sense to you? My
system is about two years old:
http://zimage.com/~ant/antfarm/about/computers.txt (primary computer).
Or is that really old already? :(

Did you guys have problems with its FAT creation on this RAM drive? I
ended up with a corruption with its 2 GB FAT(32 for this one) partition
with its "use memory above 4 GB for RAMDisk" as shown in my
http://i.imgur.com/TnKib.gif screen shot/capture. I manually reformatted
it as FAT32 with Windows XP Pro. SP3's Disk Management and made a 2038
MB (needed 5 MB free for pagefile.sys on it -- whatever). I also made a
200 MB c:\pagefile.sys (could not remove it since it needed 200 MB for
debugging information file for its STOP error [I assume the kernel
memory dumps]). I told RAMDisk to save an image of it into my
C:\winstuff\RAMDisk4\RAMDisk4.img (didn't want RAMDisk's saved image in
my C:\ root location). I manually rebooted and logged back in without
any problems.

This program is confusing and complex for newbies like me, but I got
help from the company's support (slower due to free version). :)

When I tested it a few hours ago (an older version), I got an "AWE error"
when attempting to make the RAMDisk too large. I was testing with 4GB
installed at the time. And I wanted to see if the "800MB missing" memory
could be used. I could only make a 2048MB RAMDisk with it.

AWE is described here.

http://en.wikipedia.org/wiki/Address_Windowing_Extensions

"AWE depends on Physical Address Extension support
when reserving memory above 4 GB."

So now the question would be, is there a technical limitation
to PAE, that prevents the "thrown away" memory from being
used, or not ? I suspect it's just the way that program
is written.

And they aren't likely to show us source code :)

Paul
 
P

Paul

Ant said:
Are there any other Windows XP SP3 programs like this that can work
with extra RAM for pagefile/swap file? :)

That's the best of the lot. Any other RAM Disk product
I've tried, has been based on the Microsoft sample code,
and generally speaking, a disaster. It's because the
developers don't really add anything to the code. The
Cenatek product, whoever wrote it, that person did spend
some time on it. It may not have been an in-house project,
but done in collaboration with a developer located
elsewhere (i.e. developer worked independently on it,
and Cenatek bought it).

*******

With regard to the pagefile test case, you should explain
that it makes sense to do it, if a person has installed
more than 4GB of physical memory. I had 6GB installed
on WinXP x32, and the other 2GB of memory was doing nothing.
If you can use it as a pagefile, then it gives you speed,
and also a usage, of the left over RAM.

If you were making a RAMDisk from a 4GB installation with
WinXP 32 bit, no, that does not make sense. It's when
you have more than 4GB of memory physically installed, that
the pagefile case makes sense.

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top