Application memory allocation in XP Pro

D

David K

As my old Win98 system was getting a bit long in the tooth, I recently
built a new Athlon 64 machine with 2GB of RAM running XP Pro. For
testing the memory, I used a freeware program called MemTest from HCI
Design, http://www.hcidesign.com. Despite having 2GB of RAM, the
program balked at allocating the full 1700+ MB available. Instead,
the program displayed the following,

"Your version of Windows limits the amount of RAM a single program can
allocate. You will need to run two copies of MemTest, and tell each
to test 890 MB of RAM."

Through fiddling with the memory setting in the program, I determined
that the upper limit for RAM allocation for a single program on my
machine was close to 1475 MB. My question is, if I had 4GB of RAM
would this upper limit be higher by default or is it hard-wired, as it
were, into XP pro? Yes, I do know about virtual memory and paging
files. My question relates to actual RAM initially allocated to a
program.

Thanks in advance for any insight from XP experts.
 
C

Colin Barnhorst

Are you sure the memtest program is compatible with the cpu and ram? Is it
a program that runs from a floppy?
 
D

David K

Colin Barnhorst said:
Are you sure the memtest program is compatible with the cpu and ram?

Fairly sure, but isn't that kind of irrelevant to my question? Again,
the Memtest program indicated that although there was 1.8+ GB of
unallocated RAM, XP Pro would only allocate about 1475 MB of that 1.8
GB to a single program. My question is, again, if my motherboard had
4 GB of RAM instead of 2 GB, would XP Pro permit more RAM allocation
to a single program or is this ~1475 MB a fixed limit in XP Pro?
Is it a program that runs from a floppy?

It is an exe with no support files and can be run from just about any
medium (floppy, hard drive, CD Rom, USB drive, Tape Drive...).
 
C

Colin Barnhorst

No, it is not irrelevant. An older memtest program might not see memory
beyond a point because it was not testing the right number of bits. Please
post back with the name of the program and a link to download it. XP can
allocate most of the 4GB memory space to a program. Virtual PC can allocate
3.6GB for virtual machine memory space with 2GB to any one virtual machine.
 
W

Walter Clayton

In default mode, an application can address 2G of the 4G allocated virtual
space. The other 2G is allocated to the system.

There is a option that can be added to boot.ini that allows the application
to address 3G, but that effectively disables some of the memory management
improvements between Win2K and XP.

http://msdn.microsoft.com/library/en-us/memory/base/virtual_address_space.asp

As for why this application can't handle the 2G application space is a
different matter. You'll have to take it up with them.

BTW: Using software based memory testing doesn't work very well within a
running OS.
 
D

David K

Walter Clayton said:
BTW: Using software based memory testing doesn't work very well within a
running OS.

Oh yes? The Memtest program I mentioned sure found some problems with
my memory (Corsair PC3200 memory rated at 2-2-2-5). It turns out that
to use such timings, one should increase the memory voltage to about
2.75 volts. There are special "heat spreaders" (Corsair's term, not
mine) on the RAM modules to dissipate the extra heat. Unfortunately,
there is no such voltage information on the memory package. Only in
digging through the Corsair web site after Memtest showed the problems
did I find the data sheet for the specific ram. The data sheet
indicated that "all tests were performed at 2.75 V". I later learned
that the need to increase the voltage a bit for such "special" low
latency ram is common knowledge among "overclockers". Once I upped
the voltage to 2.7 V, the memory errors went away. As a margin test,
I then temporally overclocked the machine (CPU + FSB) +5% and tested
with Memtest again. With no errors detected, I lowered the clock back
to normal where I'll keep it.

So, you see, the Memtest program worked quite well for me because it
revealed a memory problem (averaging about 1 error per 100 MB tested)
that was corrected when I upped the memory voltage to the
manufacturer's specified voltage. It should be noted that it is just
such occasional RAM errors that are the most insidious.
 
D

David K

Colin Barnhorst said:
No, it is not irrelevant. An older memtest program might not see memory
beyond a point because it was not testing the right number of bits.

Well it's irrelevant to me because I'm not concerned with Memtest's
ability to fully allocate available RAM. Rather, I'm interested in XP
Pro's general ability to allocate lots of RAM to a single application.
Perhaps I wasn't clear in that regard.
Please post back with the name of the program and a link to download it.

I provided the link in my original post. Thanks for your help, Colin.
No need to answer further, however, as I've obtained an answer from
another forum.
 

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