Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
1711 Discussions

Address Windowing Extensions ( AWE ) technology on Windows platforms with Intel CPUs

SergeyKostrov
Valued Contributor II
3,948 Views
Hi everybody, It is a well known problem ( or limitation ) that a 32-bit application on some 32-bit Windows platforms can not allocate more than 2GB of memory. However, some 32-bit Windows platforms, for example Windows XP Professional or Windows Server 2003, support Address Windowing Extensions ( AWE ) technology ( designed by Microsoft ) and a 32-bit application could allocate more than 2GB of memory. Please take into account that Intel CPUs should have support for a Physical Address Extensions ( PAE ) feature. Enclosed is a very simple test-case in 'AweTestAppV1.zip' ( Visual Studio 2005 and up ) that tries to allocate different amounts of memory and allows to verify if a 32-bit application could allocate more than 2GB of memory on Windows platforms that support AWE. Notes: - An Intel CPU PAE feature is supported even on Intel Pentium(R) 4 CPU - A 32-bit Windows platform must support AWE ( for example, Windows XP Home doesn't support AWE ) - Please take a look at a small Readme.txt file for some technical details - For more information about AWE technology visit: http://msdn.microsoft.com/en-us/library/windows/hardware/gg487508.aspx Best regards, Sergey
0 Kudos
46 Replies
Bernard
Valued Contributor I
613 Views

It is not easy to stay focused on main thread topic.

Sorry for posting quite often off topic or unrelated information.

0 Kudos
Bernard
Valued Contributor I
613 Views

If you are interested I have found a great tool written by guru M.Russinovich the tool is named RAMMap and is able to produce very detailed memory usage.

There is also option to display data related to AWE technology.

http://technet.microsoft.com/en-us/sysinternals/ff700229.aspx

0 Kudos
SergeyKostrov
Valued Contributor II
613 Views
>>There is also option to display data related to AWE technology. >> >>http://technet.microsoft.com/en-us/sysinternals/ff700229.aspx Thanks and I'll take a look.
0 Kudos
Bernard
Valued Contributor I
613 Views

>>>Thanks and I'll take a look.>>>

If you are not already using it, I would like to advise you to download whole Sysinternals toolkit.You can find there plenty of outstanding tools and very helpful.

0 Kudos
SergeyKostrov
Valued Contributor II
613 Views
The screenshoot I've attached demostrates memory layout of a 32-bit Windows NT operating system: windowsntmemorymapping.jpg On some 32-bit WIndows operating systems ( which are almost at the end of support by Microsoft ) AWE changes that layout and more than 2GB of memory could be allocated ( out of 4GB ). However, since AWE can not be considered as a universal API that solution requires a significant amount of code modifications in an existing software system ( a port to a 64-bit Windows is significantly easier! ). Let me know if somebody needs C/C++ projects I've created to research AWE capabilities.
0 Kudos
Reply