none
Memory limits of 32-bit application running on 64-bit OS (Windows 2008 server 64-bit) RRS feed

  • Question

  • Are 32-bit applications running on a 64-bit OS (Windows 2008 Server 64-bit) still limited to the 2GB/2GB (Application/Kernel) limit like they were in 32-bit OS's?  If so, can the /3GB switch be used on a 64-bit OS to increase the amount of memory available to the 32-bit application?  I have read in a few places that the /3GB option is already set in 64-bit OS's, but this was a bit confusing so I was hoping to get some confirmation/clarification from the experts.

    Thanks in advance.

    NK

    Friday, December 16, 2011 4:04 PM

Answers

  • [quote]

     

    Memory type

    Limit in on X86 Limit in 64-bit Windows

    User-mode virtual address space for each 32-bit process

    2 GB

    Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT

    2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)

    4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set

    [/quote]

    unless the image (exe) has IMAGE_FILE_LARGE_ADDRESS_AWARE set, the limit is 2GB for a 32bit process on a 64bit os according to the document

    • Marked as answer by NJK-Work Friday, December 16, 2011 5:09 PM
    Friday, December 16, 2011 4:49 PM

All replies

  • does the section Memory and Address Space Limits answer your question?

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx#memory_limits

    Friday, December 16, 2011 4:32 PM
  • Thanks.  From just glancing over the information, I could not find any information about the benefits of the /3GB option for 64-bit OS and 32-bit applications, but I will read more thoroughly (maybe its buried in there somewhere).

    Thanks again for the quick reply.

    NK

    Friday, December 16, 2011 4:38 PM
  • [quote]

     

    Memory type

    Limit in on X86 Limit in 64-bit Windows

    User-mode virtual address space for each 32-bit process

    2 GB

    Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT

    2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared (default)

    4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set

    [/quote]

    unless the image (exe) has IMAGE_FILE_LARGE_ADDRESS_AWARE set, the limit is 2GB for a 32bit process on a 64bit os according to the document

    • Marked as answer by NJK-Work Friday, December 16, 2011 5:09 PM
    Friday, December 16, 2011 4:49 PM
  • Oh - I understand now.  As long at the application was compiled with the "IMAGE_FILE_LARGE_ADDRESS_AWARE" option, it will automatically take advantage of 4 GB of memory in 64-bit Windows (no need for /3GB switch); whereas in Windows 32-bit OS, you still need the "IMAGE_FILE_LARGE_ADDRESS_AWARE" option, but you also need to set the /3GB switch in the boot.ini.

     

    Thanks again,

    Nelson

    Friday, December 16, 2011 5:09 PM