I have an early 2012 Macbook Pro with and Intel i7 processor and 16 gigs RAM running Windows 7 Professional 64-bit via Bootcamp. I work in Geographical Information Systems (GIS) as a programmer, so most of the applications I am running are 32-bit Applications, but tend to use a lot of resources (i.e. ArcGIS, SQL Server Express, Visual Studio, etc.).

I have been noticing that when I have multiple instances of either the same 32-bit application or different 32-bit applications and they are all working on hefty processing tasks, I am still only topping out at about 30% memory use.

I understand 32-bit applications are limited to less than 4gb RAM, but I assumed that one instance could use its own 4gb while another instance could use another 4gb to take full advantage of all the memory I have installed.

Can anyone explain how this works and how I can get my applications to take advantage of all my memory via running multiple instances?

  • 1
    You won't be able to force it. If Windows had a need to use the memory it would. – Ramhound Nov 13 '12 at 17:18
  • Are you talking about recoding the applications to use more RAM or just curious why they don't use up all the available RAM? – RockPaperLizard Sep 10 '16 at 22:02

Applications, whether it be 32-bit or 64-bit (etc.) will only use the amount of memory it needs. Nothing more, nothing less. If it does not need 4gb of ram it will not use 4gb of ram.

There is a popular misconception that 64-bit applications use twice the ram compared to 32-bit applications. This is not true

The "bit" designated to an application simply states how much virtual address space it can access. This is different to how much ram it needs for good performance.

Applications will not perform better when there is a surplus of memory available. An application that uses 32mb of ram will theoretically perform the same way in a system with 1gb of memory available or a system with 16gb of memory available; regardless of bit-size.

  • 3
    A 64-bit version of an application may use more memory than a 32-bit version of itself because pointers are twice as big. Whether this is significant amount depends on the application. Usually it isn't. – martineau Nov 13 '12 at 18:37
  • ah yes, that is correct. But I was not sure how to explain pointers to someone who might not know about it. So instead, I included the word "theoretically". If you can do so simply, you may edit my answer to include this bit. It might further help people. – Subaru Tashiro Nov 13 '12 at 18:41
  • 1
    How about: A pointer is a memory address and a 64-bit pointer takes twice as many bytes of memory to store one as a 32-bit pointer does. – martineau Nov 13 '12 at 18:45
  • 1
    True ,but it's not as if every piece of data a program works on is a pointer. In fact MS made a deliberate decision that INTs and LONGs would stay at 32 bits in the 64-bit environment. If a programmer wants to use 64-bit integers there are specific data types to ask fro those, but the INTs and LONGs we've been using since NT 3.1 remain at 32 bits. – Jamie Hanrahan Jul 30 '15 at 14:11
  • Here is an excellent article about 32-bit vs 64-bit web browsers: ghacks.net/2016/01/03/… As you can see, as of that writing, the 64-bit versions of several browsers use up significantly more RAM than their 32-bit counterparts. – RockPaperLizard Sep 10 '16 at 21:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.