Solved

64bitOS takes/uses more memory?

Posted on 2014-10-23
7
165 Views
Last Modified: 2014-10-30
is it documented that 64 bit os uses more GB RAM than 32 bit OS for the same kind of operation? if yes, what will be the technical reason for that?
0
Comment
Question by:25112
7 Comments
 
LVL 32

Assisted Solution

by:it_saige
it_saige earned 167 total points
Comment Utility
It depends on the data-type used for the operation.  For example, an integer uses 4 bytes of memory while a 64-bit integer uses 8 bytes of memory.

http://msdn.microsoft.com/en-us/library/47zceaw7.aspx

Since we are dealing with a 64-bit OS versus a 32-bit OS.  A 64-bit OS has been written exclusively to utilize data-types that support 64-bit operations.

-saige-
0
 
LVL 47

Assisted Solution

by:dbrunton
dbrunton earned 83 total points
Comment Utility
Yes.

See http://windowsitpro.com/windows-server/q-does-64-bit-version-os-use-more-memory-32-bit-version-same-os

There isn't much difference.  The main reason for the increase is pointer size which increases from 4 bytes to 8 bytes.
0
 
LVL 9

Accepted Solution

by:
Lieven Embrechts earned 167 total points
Comment Utility
The answer is yes, but it’s generally only a small difference, maybe 100MB of extra memory space. That’s not a huge price to pay for the advantages of the 64-bit platform, providing you actually are taking advantage of the 64-bit benefits.

The logical next question is WHY does the 64-bit version use up more memory?

It uses up more memory for several reasons. First, you can run 32-bit applications on a 64-bit OS, which means a 64-bit OS has to load some 32-bit libraries into memory in addition to its native 64-bit libraries, which is the bulk of the memory difference.

Additionally we use 64-bit memory addresses instead of 32-bit memory addresses. This means each pointer to memory takes up 8 bytes instead of 4 bytes, causing some additional memory use there as well. However, that’s unlikely to be a huge factor.
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 23

Assisted Solution

by:Dr. Klahn
Dr. Klahn earned 83 total points
Comment Utility
Surprisingly, in one respect a 64-bit operating system can save memory.

In a 32-bit operating system the video card occupies address space in the 3 to 4 GB range.  That address space is lost for other uses including physical memory.  Typically the range is from 3.25 to 4 GB.  No matter how much memory is installed in a computer with a 32-bit operating system, the actual usable memory is limited to about 3.25 GB.

In a 64-bit operating system the video card is mapped into memory space that is not used by real memory, so all memory installed is usable.

Given two systems with 4 GB of physical memory, one with a 32-bit and one with a 64-bit operating system, the 64-bit operating system has about 700MB more physical memory available.
0
 
LVL 5

Author Comment

by:25112
Comment Utility
>>
an integer uses 4 bytes of memory while a 64-bit integer uses 8 bytes of memory.
There isn't much difference.
maybe 100MB of extra memory space.
<<
for the same operation, if all it takes extra is 100MB, then that is a easy choice indeed.
---------------
>>
In a 64-bit operating system the video card is mapped into memory space that is not used by real memory, so all memory installed is usable.

This is phenomenal, too.

So, if we had only 4GB RAM for a machine, then it is always better to go to 64 bit, since you will have more memory to play with.
---------------
But could it be ever that a 64bit machine gets overwhelmed at 4GB compared to a 32 but machine, for any other or some other reason, not covered already in this post (assuming the same operation only will be performed- in this case for example: SQL 2008R2)?
0
 
LVL 32

Assisted Solution

by:it_saige
it_saige earned 167 total points
Comment Utility
Depending on the application(s) and their respective workloads, it is very possible for *any* computer to get overwhelmed no matter the amount of memory they have installed.  The simple premise for this is because the amount of memory that is installed is finite.  Services like SQL and Exchange have for years been using a *take all available resources, but share them when needed* approach.

When SQL Server is using memory dynamically, it queries the system periodically to determine the amount of free physical memory. SQL Server uses the memory notification API QueryMemoryResourceNotification to determine when the buffer pool may allocate memory and release memory.

Allowing SQL Server to use memory dynamically is recommended; however, you can set the memory options manually and restrict the amount of memory that SQL Server can access. Before you set the amount of memory for SQL Server, determine the appropriate memory setting by subtracting, from the total physical memory, the memory required for the operating system, and any other instances of SQL Server (and other system uses, if the computer is not wholly dedicated to SQL Server). This difference is the maximum amount of memory you can assign to SQL Server.


So no matter the amount of memory installed in the server, SQL is going to eat up as much of it as possible with the idea of releasing memory when the operating system needs it.  These settings, though, can be changed.

http://msdn.microsoft.com/en-us/library/ms178067(v=sql.105).aspx

So in this case, it is not the operating system utilizing the memory, but the program.

-saige-
0
 
LVL 9

Assisted Solution

by:Lieven Embrechts
Lieven Embrechts earned 167 total points
Comment Utility
sql is a different matter: the sql server will use the memory it gets to maximize caching & perforance, so in a 64-bit environment (with 4Gb or more) it will be better performing.
frankly: 32-bit is the past, 64-bit is the only valid choice currently.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

We recently endured a series of broadcast storms that caused our ISP to shut us down for brief periods of time. After going through a multitude of tests, we determined that the issue was related to Intel NIC drivers on some new HP desktop computers …
This paper addresses the security of Sennheiser DECT Contact Center and Office (CC&O) headsets. It describes the DECT security chain comprised of “Pairing”, “Per Call Authentication” and “Encryption”, which are all part of the standard DECT protocol.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now