The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    32bit applications under vista x64

    Discussion in 'Windows OS and Software' started by thomaskc.dk, Dec 14, 2007.

  1. thomaskc.dk

    thomaskc.dk Notebook Deity

    Reputations:
    84
    Messages:
    1,252
    Likes Received:
    0
    Trophy Points:
    55
    Hi everyone, Ive been trying to find out wether single 32bit processes can use more than 2gb ram running on a 64bit system ??

    we all know the mem limits of 32bit systems and all that stuff. Not the point of all this.

    DO i need to run 64bit software for it to be able to use all 4gb ram? or can the 32bit applications still do it, aslong they run under vista x64 ?

    :D
     
  2. 640k

    640k Notebook Evangelist

    Reputations:
    35
    Messages:
    305
    Likes Received:
    2
    Trophy Points:
    31
    Yes, you need to run 64-bit software for it to use all 4G RAM. Intel has a whitepaper on this. All applications are limited to their environments. The x64 architecture is more forward emulated for 64-bit than it is full 64-bit. So when you run 16-bit and 32-bit applications, they are running in their true architecture. This is more of a feature of the Intel CPUs than the OS itself.

    With that said, Vista may put limitations on running lower architectures in their upper architecture platforms.
     
  3. Evolution

    Evolution Vox Sola

    Reputations:
    413
    Messages:
    1,293
    Likes Received:
    0
    Trophy Points:
    55
    In general the answer to whether a 32bit application can use more memory on 64bit windows than it does on 32bit is no.

    All versions of 64bit windows have what microsoft call WOW64 which stands for Windows On Windows 64. This is an emulation layer which enables 32-bit programs to run as though on a 32-bit version of Windows by translating instructions passing in and out of 32-bit applications into 64-bit instructions. So emulated 32bit programs act as though they are running on an x86 computer and operate within the 2 GB of virtual memory that a 32-bit version of Windows allocates. Note 16bit applications do not work on 64bit windows.

    However I have been researching 64bit windows alot recently (as I was thinking of switching to it) and apparently 32-bit applications that have been built with the /largeaddressaware switch can access more than the standard 2gb.
     
  4. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    YES, a 32-bit application running on a 64-bit OS can in some circumstances use up to 4GB of RAM.

    As Evolution says, if the application is built with the /largeaddressaware flag, it will be allowed to use up to 4GB of RAM. Some (not all) games do this, and you can actually edit it in yourself (but of course, the game still haven't been tested with this, and may not work properly)

    But it can never use more than 4GB, like a 64-bit application can.
     
  5. Ingvarr

    Ingvarr Notebook Deity

    Reputations:
    292
    Messages:
    1,090
    Likes Received:
    115
    Trophy Points:
    81
    Actually, it can, via AWE (Address Windowing Extensions) API to bank-switch memory. Though not many apps can do that, but many database and CADs can.
    Of course this access method is less universal and straightforward as true 64-bit addressing.
     
  6. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Yeah ok, but then it's no longer a regular 32-bit app. (It also takes a noticeable performance hit)

    :p

    AWE requires the developer to explicitly handle it. The /largeaddressaware switch doesn't require any special intervention (other than testing that it works)
     
  7. NeRo45

    NeRo45 Notebook Evangelist

    Reputations:
    31
    Messages:
    510
    Likes Received:
    0
    Trophy Points:
    30
    How do I even get a 32bit program to run on my 64bit OS?
     
  8. Ingvarr

    Ingvarr Notebook Deity

    Reputations:
    292
    Messages:
    1,090
    Likes Received:
    115
    Trophy Points:
    81
    AWE have no significant performance hit (its very minor). In fact it was made with very high performance in mind, its even in basic documentation.

    /largeaddressaware will not allow using memory above 4GB, but AWE will.

    In some scenarios its easier to use AWE in place where it counts (ie caching/storage) than convert the whole application to 64-bit addressing.
     
  9. Ingvarr

    Ingvarr Notebook Deity

    Reputations:
    292
    Messages:
    1,090
    Likes Received:
    115
    Trophy Points:
    81
    You just run it, thats all. OS will handle the emulation details.
     
  10. NeRo45

    NeRo45 Notebook Evangelist

    Reputations:
    31
    Messages:
    510
    Likes Received:
    0
    Trophy Points:
    30
    It keeps telling me an error saying that I can't install a 32bit program on a 64bit OS
     
  11. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Yep, I don't think I said otherwise :p

    Except that the question wasn't from the point of view of a software developer, but someone wondering whether his games would run under 64-bit. Which makes AWE completely irrelevant, because games don't use that, and aren't likely to begin using it. ;)
    And of course, it doesn't depend on whether you run it in a 32- or 64-bit OS.

    So basically, a 32-bit application is normally limited to 2GB even on a 64-bit OS. If it is built with /largeaddressaware (and as I said, at least some games are, since it requires no special handling from the developer), it will be able to use up to 4GB.

    Which program, and what is the exact error?

    Btw, I can tell you that you're already running several 32-bit applications, so it's certainly possible.
     
  12. Ingvarr

    Ingvarr Notebook Deity

    Reputations:
    292
    Messages:
    1,090
    Likes Received:
    115
    Trophy Points:
    81
    I dont know why are you so focused on games. Original question was about applications, and quite a lot of 32-bit applications, like memory-hungry CADs or DBMs will happily use more than 4 Gb of memory via AWE either on 64-bit OS or even on 32-bit server versions (with PAE).

    Though of course if you will rephrase the original question like "will any 32 bit application be able to use more then 2Gb under 64-bit system", the answer will be obviously "no".
     
  13. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    I just don't get the impression that the OP is using high-end database systems. Of course he could be running a multi-terabyte database for Microsoft, but I find it more likely that he's simply running "normal" applications, games, MS Office, Photoshop and so on. None of which use AWE.

    Here's the original question:
    AWE has nothing to do with that, because it doesn't let a 32-bit process use more memory on a 64-bit system than on a 32-bit system.
    *If* an application supports AWE (and as I said, applications used by "normal people" don't support it), then it can use more than 4GB on a 32-bit OS as well, so it's irrelevant to the question of whether a 32-bit app can use more memory on a 64-bit system. And if the application doesn't use AWE, it's obviously *also* irrelevant.

    In short, AWE is not relevant to the OP's question.
     
  14. Evolution

    Evolution Vox Sola

    Reputations:
    413
    Messages:
    1,293
    Likes Received:
    0
    Trophy Points:
    55
    Maybe the 32 bit program you are trying to install is using a 16bit installer. Some lower end 32bit programs have 16bit installers(even though the program itself is 32bit) and windows 64bit architecture does not recognize 16bit programs only full 32bit programs can be emulated.
     
  15. Ingvarr

    Ingvarr Notebook Deity

    Reputations:
    292
    Messages:
    1,090
    Likes Received:
    115
    Trophy Points:
    81
    Umm, you are wrong here too. Only Server editions of 32 bit Windows can address more than 4GB, regardless of PAE support, and part of that address space goes to device access. Thats why 32-bit Vista will see only 3GB of RAM on 4GB system, XP - about 3.5GB.

    So 32-bit application with AWE support will not be able to address more then 3GB on 32-bit Vista, but will be able to do so on 64-bit one.
     
  16. NeRo45

    NeRo45 Notebook Evangelist

    Reputations:
    31
    Messages:
    510
    Likes Received:
    0
    Trophy Points:
    30
    The program was Autocad 2008 and the error was exactly what I typed before: "A 32bit program cannot be installed on a 64bit OS"
     
  17. tumnasgt

    tumnasgt Notebook Evangelist

    Reputations:
    80
    Messages:
    635
    Likes Received:
    0
    Trophy Points:
    30
    Maybe there are two versions, a 64bit and a 32bit?
     
  18. NeRo45

    NeRo45 Notebook Evangelist

    Reputations:
    31
    Messages:
    510
    Likes Received:
    0
    Trophy Points:
    30
    Well I got the 64bit version now just got to find the 64bit keygen