32bit Windows 7 and memory

Home Forum Chat Forum 32bit Windows 7 and memory

Viewing 40 posts - 1 through 40 (of 62 total)
  • 32bit Windows 7 and memory
  • PJay
    Member

    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?

    Premier Icon GrahamS
    Subscriber

    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.
    You’ll probably only be able to use around 3.5GB in total and any single application will normally be limited to 2GB.

    Premier Icon cp
    Subscriber

    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.

    chojin
    Member

    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!

    chojin
    Member

    bah – beaten to it by 60 seconds 🙂

    PJay
    Member

    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.

    chojin
    Member

    Sorry dude, you live/you learn :/

    You *could* try and sell the 32 bit version to a friend or something and buy the 64bit version?

    Premier Icon cp
    Subscriber

    who did you buy from? Can you still return under the 14 day distance selling gumf? Do they have some sort of ‘satisfaction’ period?

    soma_rich
    Member

    My windows 7 box came with both 32 and 64bit DVDs does the licence not cover both versions?

    samuri
    Member

    You’ve not that much of an expensive boob.
    How much would the extra RAM have been, about 40 quid?

    chojin
    Member

    OR getting friendly with a student and buy it cheap through the education scheme M$ run! Costs about 30 quid this way

    PJay
    Member

    It’s an OEM installation, 32bit only I’m afraid. The default system came without an OS and I had to chose on, there was no indication of the customisation screen that this was such a potential pitfall!

    PJay
    Member

    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.

    xiphon
    Member

    x32 and x64 are covered by the same license, hence OEMs often bundle in both 32 and 64 installation media.

    Premier Icon GrahamS
    Subscriber

    there was no indication of the customisation screen that this was such a potential pitfall!

    well if it’s a new system then I’d point that out to them and demand a replacement.

    Premier Icon Cougar
    Subscriber

    Stop.

    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.

    Premier Icon Cougar
    Subscriber

    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?

    Premier Icon glenh
    Subscriber

    _^ what he said.

    Unless you want/need significantly more memory than 4GB (probably 8GB or more) then there’s no really need to go x64.
    Unless your software is x64 only, but that’s not very common.

    Premier Icon BigEaredBiker
    Subscriber

    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.

    PJay
    Member

    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.

    Premier Icon molgrips
    Subscriber

    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.

    mudshark
    Member

    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.

    Is that really true? I thought the gfx card handled memory itself.

    Premier Icon molgrips
    Subscriber

    I think that’s what DMA is all about isn’t it?

    PJay
    Member

    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!

    Premier Icon molgrips
    Subscriber

    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.

    mudshark
    Member

    Well I’m no expert but my thoughts were that the gfx card processor handles the gfx memory and it’s seperate. So if you put a 4gb gfx card on your PC with 32 bit windows it wouldn’t do much?!

    Premier Icon molgrips
    Subscriber

    The memory is separate, the address space is not.. as I understand it.

    PJay
    Member

    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.

    PJay
    Member

    I’ve also got some sort of Memory Mapping feature activated in the BIOS which say something about putting overlapping PCI memory above the address space, I assume that this won’t make any extra memory available to Windows but may avoid it losing it to hardware.

    mudshark
    Member

    A useful link about memory available to MS O/Ss:

    http://msdn.microsoft.com/en-gb/library/aa366778.aspx

    PJay
    Member

    Thanks Mudshark, I had found that which also links to an article on Physical Address Extension which Windows 7 supposedly supports which should allow the use of memory abouve the 4Gb limit, it’s all rather confusing.

    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)????

    Premier Icon Cougar
    Subscriber

    You’re getting muddled. I’m off out now but I’ll type something up when I’ve got time, sorry.

    Short answer, don’t worry about PAE, you’re not losing as much memory as you think you are, and what you are losing isn’t worth a damn one way or the other.

    PJay
    Member

    Thanks Cougar

    I’ve emailed the company to see if there’s an option of Windows 7 64Bit install DVD and I’ll wait and see but hopefully the system I have will be fine (at least until I need to add more memory).

    PJay
    Member

    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).

    mudshark
    Member

    I have just started using Windows 7 Enterprise and am using the XP VM quite a bit to use my old applications.

    Premier Icon molgrips
    Subscriber

    You don’t need 64 bit software for 64 bit windows. Your old stuff will work fine. It’s only the device drivers that need to be 64 bit – and almost everything is now supported.

    grahamb
    Member

    +_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.

    Premier Icon Cougar
    Subscriber

    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.

    Premier Icon Cougar
    Subscriber

    (sorry for any duplication there, there’s been a few more posts in the hour it took me to write that inbetween doing stuff at work)

Viewing 40 posts - 1 through 40 (of 62 total)

The topic ‘32bit Windows 7 and memory’ is closed to new replies.