Fog Creek Software
Discussion Board




JVM On Windows 2000 Using AWE

Would a Java Virtual Machine running on Windows 2000 Datacentre Edition that wanted to access more than 4 GB RAM have to be especially written to use the Address Windowing Extensions (AWE) API or could it just see the extra memory "out of the box"?

John Topley (www.johntopley.com)
Tuesday, January 13, 2004

The JVM would have to be AWE aware to see more than 3GB of RAM.  A user mode process can see at most 3GB of user address space.  If it wants to access more physical memory than that it must manually manage the mapping of address space to physical RAM through AWE.

Rob Walker
Tuesday, January 13, 2004

You might try to dig around on Unisys's website as they are trying to position themselves as the highend Java on Windows server provider.  They might have a tweaked jvm available or know what Sun's stock one is capable of.

Mike
Tuesday, January 13, 2004

Thanks for the information. I was actually coming at it from an Oracle perspective.

John Topley (www.johntopley.com)
Tuesday, January 13, 2004

I'm curious... you really need to manipulate 10s of gigabytes of information in memory? Using Java? What exactly are you doing?

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, January 13, 2004

No...I'm having a debate with a colleague who is specifying our J2EE application server hardware. He's specified 8 GB RAM which I think is a waste of time because Oracle Containers for Java (OC4J) won't be able to use it all.

The OS will be Windows 2000 but I'm not sure if it will be the Datacentre version.

John Topley (www.johntopley.com)
Wednesday, January 14, 2004

I don't have any experience with Oracle Containers for Java but I do know that some high memory load Java systems spawn multiple JVM processes as it's a per process rather than per system limit.

R1ch
Wednesday, January 14, 2004

You don't need the Datacentre edition to use 8GB of RAM, W2K Enterprise will work fine (with the right hardware).

Rich: the limit is per process.  E.g. you can have 2 processes running each using 3GB of physical RAM without the system doing any swapping.

Rob Walker
Wednesday, January 14, 2004

So do existing applications have to be modified to be able to see the extra memory or not?

John Topley (www.johntopley.com)
Wednesday, January 14, 2004

Rob - that's what I said, wasn't it?

R1ch
Wednesday, January 14, 2004

Sorry for causing more confusing. Rich, I read your comment as a question not a statement ... need more coffee first thing in the morning!

Existing applications do have to be modified to use more than 3GB of RAM themselves.  But _in aggregate_ you can use more 3GB of RAM if you run multiple processes.

Rob Walker
Wednesday, January 14, 2004

*  Recent Topics

*  Fog Creek Home