32bit Windows 7 and memory
I’ve just bought a new computer with 4Gb memory installed. Since I wanted to run some older software and the availablity of 64bit drivers doesn’t seem that great I stuck with a 32bit OS – Windows 7 Professional.
However, since upgrading I’ve come across a lot of info. on the internet stating that I’ll be able to use less than the 4Gb of installed memory (Microsoft’s website simply says that 64bit OSes handle large amounts of memory ‘more effectively’). I had no idea that a 32bit version of Windows limits the amount of available memory in a system. The mobo with take up to 16Gb of memory but will my system only be able to utilise under 4Gb?
Have I made a big mistake and if I want to add more memory will I need to upgrade to a 64bit OS?Posted 7 years agoGrahamSSubscriber
Have I made a big mistake and if I want to add more memory will I need to upgrade to a 64bit OS?
In short, yes.
Basically 32 bits means 2^32 possible memory addresses = 4294967296 bytes = 4194304 kB = 4096 MB = 4GB.
And it’s a bit less than that because it needs some of it to address devices you have attached.Posted 7 years ago
You’ll probably only be able to use around 3.5GB in total and any single application will normally be limited to 2GB.cpSubscriber
The total amount of RAM (non-shared graphics and system) is limited to either 3.25 or 3.5Gb on 32 bit systems.
What software do you want to run? I’ve not had a problem with any non-64bit specific software on my win7 machine. I’ve also had no issues with drivers at all – printer, camera, scanner etc… all work fine.Posted 7 years ago
IIRC 32bit Windows can only address 2.5gb of memory in total, and that *includes* the memory on your graphics card too!
So if you have a 1gb graphics card, you’re effectively only able to address 1.5gb of System RAM.
I can’t remember the exact figure, but it’s either 2.5 or 3gb tops – something like that.
Out of interest, what 32bit applications do you want to run? Win7 64bit is backwards compatible with 32bit applications, and the drivers are absolutely fine unless you have really obscure hardware!Posted 7 years ago
Looks like I’ve made an expensive boob then! I’m a bit annoyed that there was no mention of an memory limit on the operating system section of the company’s system customisation tool.
I’m fine with 4GB of memory for now but it looks like I’ll have to shell out for a new version of Windows if I add extra (and I could have had a 64bit version from the start). I guess I should have done some more research.Posted 7 years ago
OR getting friendly with a student and buy it cheap through the education scheme M$ run! Costs about 30 quid this way
but tecnically not legal.
So if I’ve got 4GB or memory and a 1gb gfx card are you saying I’m only able to address about 2.5Gb system ram? Windows itself is saying that there’s 4GB installed of which 3.25Gb is usable.Posted 7 years ago
There’s more FUD and misinformation about this topic than just about anything else in IT currently. Let me try and clarify a few misconceptions.
It’s correct that a 32-bit OS can only access 4Gb of RAM. Due to technical reasons (which I can explain if you really want but isn’t wholly necessary to understand this), Windows has a ‘blind spot’ at the top end of the 4Gb address space meaning you lose about half a gig.
Now. Various forums will tell you that you “need” a 64-bit OS in order to use this missing RAM. Usually with lots of ZOMGs and exclamation marks for good measure. Technically this is true. But.
Moving from 32-bit to 64-bit will indeed allow you to access the “missing” memory. However, a 64-bit OS by definition *requires* more memory. You’re doubling the width of memory addresses without adding more RAM; think about this for a second, if you’ve got a finite amount of something and you suddenly make it twice as wide, it’s going to be half as long. You can’t get something from nothing.
So, whilst it’s correct that you need a 64-bit OS to access more than ~3.5Gb in a Windows system, all other things being equal it’s a complete fallacy that this automatically is a good idea.
In practice, a good chunk of Windows x64 is still 32-bit, so you’re not really doubling your memory requirements. However, you are increasing them. This will at least offset any theoretical gains you might see from the reclaimed half gig.
With a 64-bit OS, 64-bit drivers are *required* for all your hardware and, whilst the situation is better than it used to be, these aren’t always available.
Under Windows x64, you can run 32-bit and 64-bit applications. The bulk of your software will still be 32-bit. 64-bit versions are thin on the ground except in certain fields (eg, video editing, CAD, SQL servers etc) but the tradeoff here is that this software requires more memory (as discussed). 32-bit apps are still restricted by their architecture; if you were to fit a hundred Gig of RAM in there, the 32-bit apps would still only see a 2Gb application address space (though you could run a hell of a lot of them concurrently). Also, 32-bit apps run under emulation (well, sort of, but that’s the easiest way of explaining), so you can get a performance hit here too.
Finally, for 32-bit Windows, the actual real-world difference in performance between a 3.5Gb system and a 4Gb system (if such a thing were actually possible) will be as close to zero as makes no odds. You’d have to cane it pretty hard to use up all that RAM.
In short, it’s a lot of work and effort to fix what is, for all practical purposes, a cosmetic problem. Don’t worry about it. Anyone who tells you different fundementally doesn’t understand Windows memory management.Posted 7 years ago
Now, if you’re upgrading beyond 4Gb, 64-bit Windows becomes a viable proposition. Whether or not you’d ever need to do this is debatable, it depends what you’re running. But for the sake of argument let’s go with that.
The Windows 7 licence covers both 32- and 64-bit versions, certainly on retail. I think this is also true for OEM but haven’t looked (it was true for Vista, but they may have changed it).
I bought a 32-bit Vista laptop a couple of years back. Whilst not provided as default, Dell would ship a 64-bit disc on demand. So, I’d suggest getting on to the supplier to see if they’ll do that just so you’ve got a copy. The same licence key should be good for both.
I don’t think there’s a clean upgrade path from 32 to 64, so upgrading would need to be a clean install. If you are going to upgrade, then you might want to do it sooner rather than later to lessen the impact. However, as per my previous edit, do you really want to?Posted 7 years agoBigEaredBikerSubscriber
Just to back Cougar up I’d stick with the 32bit OS now you have it.
Once you really start needing 4 Gb+ then get 64bit Windows 7 when you get the extra Ram.
I was perfectly happy with 32bit Vista & 3Gb and only upgraded to x64 win7 when I needed to do some work with 64bit SQL Server and needed to address > 4Gb.
It’s made very little difference to system performance for anything else.Posted 7 years ago
Thanks guys, that’s reassuring. So where does the memory in the gfx card come in? I’ve 4Gb ram (Windows can use 3.25Gb) and 1Gb in the gfx card, can I use all the system ram or do I lose 1Gb to the gfx card?
I certainly don’t need more than 4Gb (although I probably don’t need a quad core processor either) I’m just annoyed that I could have selected a 64bit OS instead of a 32bit one and probably would if the customisation system had mentioned the limitations of 32bit. I could have configured the system with 8 or 16Gb memory and a 32bit OS, I wonder if the system builders would have mentioned anything.Posted 7 years ago
However, a 64-bit OS by definition *requires* more memory. You’re doubling the width of memory addresses without adding more RAM; think about this for a second, if you’ve got a finite amount of something and you suddenly make it twice as wide, it’s going to be half as long. You can’t get something from nothing.
Still not convinced this is right. Addresses stored in code will take up more space for sure, but how much difference is that going to make? And 1kB of data is still 1024 BYTES regardless of the word size. Do compilers have to use 64 bit words for every data type though? If they did, then 1024 variables of byte type would indeed take up 8KB of RAM.
This 64 bit Windows 7 install currently has 3171MB used out of a total 8124MB of the pagefile (I think – is that what Commit means?) and physical memory usage is 2.11MB.
I’ve 4Gb ram (Windows can use 3.25Gb) and 1Gb in the gfx card, can I use all the system ram or do I lose 1Gb to the gfx card?
Imagine if, when you write your address down, you were only allowed by law (on pain of death) to use two numerical digits for your house number. Fine when there are 20 houses on your street – you can build 79 more and then there are 99 houses all properly numbered. If you build another four on top of that though, you won’t be able to write their addresses down so they won’t be able to get any mail ever, their inhabitants won’t be on the electoral roll or be able to get any credit. Even though there’d be 103 houses on your street, the Post Office and the world would not believe they existed.
Your CPU can only ADRESS 4GB of memory. The 1GB your graphics card still has to be addressed – so it takes the place of 1GB of your system ram which will be sat there doing nothing.Posted 7 years ago
Well all I know is that Windows reports 4Gb of which 3.25Gb is useable, if 1Gb of this comes from the Gfx card shouldn’t it be reporting 5Gb of installed memory of which 3.25Gb is useable?
It seems daft to me that that a system builder can offer a default 4Gb system with a 1Gb gfx card and the option of a 32bit OS and not even mention these limitations!Posted 7 years ago
It means there is 4Gb of system memory – the gfx card is hijacking the addresses that would be usable by the system memory. The gfx card memory is not system memory but it is using addresses as if it were.. I *think*.
It is daft yes, but it’s as daft as selling someone a quad core 3GHz machine to someone who comes in looking for something with which to surf the net. And in any case I think there are various strategies around it which may or may not be in place on these machines.Posted 7 years ago
A quick search on the internet suggests that 32b Windows 7 can address 3.25-3.5Gb depending on the memory on the Gfx card (mine can use 3.25Gb with a 1Gb gfx card). I was toying at some point of adding a second gfx card in an ATI Crossfire (which will take up to 4 cards), will I lose 1GB again?
Windows will only see a portion of your 3.5GB physical RAM.
This behavior is due to “memory mapped IO reservations”. Those reservations overlay the physical address space and mask out those physical addresses so that they cannot be used for working memory. This is independent of the OS running on the machine.
Significant chunks of address space below 4GB (the highest address accessible via 32-bit (2 to the 32nd power = 4GB)) get reserved for use by system hardware:
• BIOS – including ACPI and legacy video support
• PCI bus including bridges etc.
• PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory
Globally, between ~256MB and 1GB of address space below 4GB may be reserved for hardware use. The OS will not see these Address spaces.Posted 7 years ago
A useful link about memory available to MS O/Ss:Posted 7 years agorumbledethumpsMember
Regarding the OP – Another suggestion. Are you running the Windows 7 Ultimate version? If so, it might be possible to go for a x64 Windows 7 running XP mode (virtualised windows XP Pro) to launch your earlier apps?
If not its a reinstall of the OS later on (no upgrade path).
I’m not up to date with current hardware and OEM versions of windows, but don’t these come with evaluation periods before the chosen OS needs to be activated (as used in KMS or MAK)????Posted 7 years ago
Since it’s an OEM installation it looks like I’m dependant of the computer company helping me out. I’ve emailed them and I’ll be keeping my fingers crossed.
I thought that I was reasonably knowledable around computers, but obviously not. I’m rather confused whether a 4gb system with 1Gb graphics card and 32bit Windows is a compromised system or not (would an upgrade of the same spec. to 64bit make a difference)?
I went 32bit as I use some oldish software packages that I can’t afford to upgrade so, ironically, the choice to go 32bit was made to keep costs down. I’m sure that my Office 2007 installation would be fine under 64bit but for those that asked, I also use Macromedia Studio MX and Corel Draw 11, both of which are a bit long in the tooth (and I’ve already noticed some cosmetic glitches with Dreamweaver MX).Posted 7 years agograhambMember
+_1 to what Cougar said.
WRT the graphics card using up main memory. Some cheaper embedded graphics adapters (where the graphics adapter is on the mother board) won’t have dedicated memory, it’ll use main memory that would otherwise be used for applications. This is common on low end laptops & desktops & small embedded systems. Sometimes in the BIOS you can adjust the amount of memory you dedicate to the graphics adapter. If you’ve got a separate graphics card with, say 1GB, then that won’t take up 1GB of your memory address space. As molgrips said, this is what DMA is for. The card will have a window in the CPU’s I/O address space but this will be a lot less than the memory on the card itself.
Besides being able to address a wider memory range there’s other advantages with x64 o/s. A subset of an x86 CPU’s registers are only available in 64 bit mode. If you’re looking at doing a lot of math intensive work (games, video encoding etc) these help. You’d need the app compiled for 64-bit to really make full use of these though.
It looks like you’re running 32-bit pass. I’d stick with the 32-bit o/s you have installed.Posted 7 years ago
You may well have compatibility issues with older versions of software too.
Assuming PCI-E, the video card will use memory-mapped I/O but it’s not a 1:1 ratio. A chunk of memory – strictly, a chunk of memory addresses – will be allocated for the video card’s usage. This isn’t typically all of the video card’s RAM, it’s more like a window. From memory (ho ho!) I think PCI-E takes between 256Mb and 768Mb for its own nefarious purposes, depending on sunspots and the phase of the moon.Posted 7 years ago
The topic ‘32bit Windows 7 and memory’ is closed to new replies.