Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an early 2012 Macbook Pro with and Intel I7 processor and 16 gigs RAM running Windows 7 Professional 64bit via Bootcamp. I work in Geographical Information Systems as a programmer so most of the applications I am running are 32bit 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 32bit application or different 32bit applications and they are all working on hefty processing tasks, I am still only topping out at about 30% memory use.

I understand 32bit 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?

share|improve this question
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

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 ram it can access. This is different to how much ram it needs

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.

share|improve this answer
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
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
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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