Win2k/2003 DLL memory limit?

R

Rich

Hello all

I have an application that is segmented into various Dlls, one of
which contains caching mechanisms that create very large in-memory
data structures.

No matter what I do to attempt to allow the Application to utilize
2-3GB of RAM, both through standard and /3GB /4GT /PAE switches and
the like for the system and combinations of /LARGEADDRESS... etc. for
the app config .. the App will always fail when it hits *1GB* on the
mark.

Now this is very confusing to me. I have read everything that I can
get my hands on about the NT(ish) kernel and there should be at least
2GB of user space available in the regular 2:2 split and 3GB available
on the 3:1 split.

Why is it dying at 1GB?

I found some things about shared memory in older windows systems with
limits at 1GB, but have found no smoking gun that indicates why this
would be happening.

The machine has 4GB physical RAM, the OS recognizes it, there is a
4096k swap file allocated, there is nothing else loaded or running on
the machine during testing.

The only complicating factor is that all the DLLs are JNI wrappers for
C++ libraries and the application is executing through a Java server.
I mention the Java part last because I have completely exhausted
causality from that direction and am left with what I believe to be a
Windows/C++/DLL problem.

Where I am right now, and I may be totally off, is that it is any of:

- a project configuration problem in VC++
- a server configuration problem
- an unpublished DLL memory limitation
- an effect of running through Java, which may be executing in some
protected legacy mode in the OS with a 1GB limit

I also found some materials about forcing relocation of the DLLs into
lower memory to make more space available via /rebase.

Any thoughts from anyone? Please!!?

Thanks

Rich
 
J

John Harrison

Rich said:
Hello all

I have an application that is segmented into various Dlls, one of
which contains caching mechanisms that create very large in-memory
data structures.

No matter what I do to attempt to allow the Application to utilize
2-3GB of RAM, both through standard and /3GB /4GT /PAE switches and
the like for the system and combinations of /LARGEADDRESS... etc. for
the app config .. the App will always fail when it hits *1GB* on the
mark.

What make you think this is an appropriate question for a C++ language
group?

Please read this groups welcome message for information on this group and
suggestions as to where you question might be more appropriate.

http://www.slack.net/~shiva/welcome.txt

john
 
R

Rich

John Harrison said:
What make you think this is an appropriate question for a C++ language
group?

Please read this groups welcome message for information on this group and
suggestions as to where you question might be more appropriate.

http://www.slack.net/~shiva/welcome.txt

john

Sorry, I thought there was a possibility that it was related to link
time definitions in the MSFT VC++ environment as /LARGEADDRESS... and
the family are specified at link time.

Rich
 
J

John Harrison

Rich said:
"John Harrison" <[email protected]> wrote in message

Sorry, I thought there was a possibility that it was related to link
time definitions in the MSFT VC++ environment as /LARGEADDRESS... and
the family are specified at link time.

Even if it was (I have no idea) it would still be off topic in this group.
Try a Windows programming group, for instance.

john
 

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

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,827
Latest member
DMUK_Beginner

Latest Threads

Top