HELP - where has my PC memory gone??? - Page 1
Forum section: electronics / general

author: TopLoser
author_rank: Unknown
timestamp: November 27, 2017, 01:36:21 pm
content: Ok...my old Dell desktop finally started to worry me, it's over 5 years old and must be on the verge of going pop. It was running fine with Windows 10 Pro 32 with 4GB. Years worth of apps and data installed on the SSD that I've been dreading migrating for ages.Pulled a spare Lenovo box out of the pile, an 8GB and a 4GB memory stick in it. Chucked the Dell SSD in it and bugger me if Windows 10 didn't handle the change of hardware magnificently - it displayed 'getting things ready' for a few minutes then booted up with all my apps and data intact and all new drivers installed for the new hardware. I never had to touch a thing, easiest migration EVER. Device manager showed everything was happy, all the new bits and pieces installed and working ok.BUT...Task manger shows 12.0GB DDR3 installed, but only 1.7GB available to Windows. I see 10.3GB is 'hardware reserved'. What's that all about???There is a Radeon R7 + R7 240 display card in there which I assume is taking 2GB - what's happened to the rest?

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 01:38:51 pm
content: You're going to need a 64-bit OS.Windows will only let you have 4GB, minus certain reserved areas - and then your GPU's taking 2GB of that.

author: timgiles
author_rank: Regular Contributor
timestamp: November 27, 2017, 01:45:00 pm
content: You are using a 32 bit version of Windows so you are limited to 4Gb. I thought MS were only doing Win 10 in 64 bit - must be a brain fart on my end.I don't think you can upgrade easily - but would be worth googling. You can't be the only person who needs this type of upgrade.Good luck

author: TopLoser
author_rank: Unknown
timestamp: November 27, 2017, 01:45:16 pm
content: I had a feeling that was going to crop up and bite me...And there's no way to go to 64 bits without a clean install of Windows 10 and then a complete reinstall of all the apps and other crap...Video card is going in the bin then!!

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 01:47:19 pm
content: That will help, but you'll still be stuck with 4GB - ~300MB - VRAM.

author: TopLoser
author_rank: Unknown
timestamp: November 27, 2017, 01:52:21 pm
content: Pulling out the 8GB stick and leaving just the 4GB in place gives me 2.2GB instead of 1.7GB.What a giggle eh!(is it about now somebody mentions Unix?)

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 01:53:48 pm
content: I wasn't going to. But yes, other OSes allow you to actually use PAE.That's an.. interesting allocation issue.

author: Kevman
author_rank: Regular Contributor
timestamp: November 27, 2017, 02:34:15 pm
content: There are hacks to enable PAE in Windows 7 and 8, you might be able to find one for 10 with some googling.You're much better off installing Windows 10 64 bit, though. Even with PAE enabled, each individual process will still be limited to 2 gig, and PAE itself is a pile of hacks and has had stability problems regardless of OS.Linus Torvalds had a bit to say about it:https://cl4ssic4l.wordpress.com/2011/05/24/linus-torvalds-about-pae/With a 32 bit OS, All processes are limited to 2 gig each.With 64 bit, 32 bit processes are limited to 4 gig and 64 gig have no practical limits.

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 02:35:28 pm
content: PAE is already enabled. You can't run 10 without PAE. It just won't utilise it because they're scared of introducing bugs in horribly written old drivers which aren't even signed to run on the OS..

author: TopLoser
author_rank: Unknown
timestamp: November 27, 2017, 02:37:09 pm
content: I'm fine with 4GB, just looked inside my old Dell and it only had 2GB installed. God knows what the on board graphics were stealing from that!I'll worry about the 32-64 bit migration in another 5 years time when this PC starts worry me...

author: rdl
author_rank: Super Contributor
timestamp: November 27, 2017, 05:07:59 pm
content: You can get video cards that have their own memory pretty cheap and not have to worry about the video stealing from system RAM. I have a 32 bit Windows machine with only 2GB of RAM. When I retired it from gaming years back, I put a 1 GB fanless Nvidia card in it to replace the loud, hot gaming video card it had originally. I think it cost less than $25.

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 05:08:52 pm
content: Quote from: rdl on November 27, 2017, 05:07:59 pmBut on a 32-bit system they're still going to murder your address space.

author: nctnico
author_rank: Super Contributor
timestamp: November 27, 2017, 06:19:07 pm
content: Quote from: Kevman on November 27, 2017, 02:34:15 pmLinus is wrong about many things and PAE being bad is one of them. PAE works perfectly fine. If you have stability problems then your memory is faulty and needs replacing. I don't get why Windows doesn't have PAE out of the box because a 64bit OS isn't always a blessing due to incompatible libraries and so on.

author: edavid
author_rank: Super Contributor
timestamp: November 27, 2017, 06:26:51 pm
content: The PAE patch for Windows 10 32 bit is located here:https://github.com/wj32/PatchPae2

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 06:29:46 pm
content: Quote from: nctnico on November 27, 2017, 06:19:07 pmBecause of incompatible, shitty drivers, which nobody can fix.If your libraries are incompatible with 64-bit systems, they're either crap or old: Get rid of them.

author: edavid
author_rank: Super Contributor
timestamp: November 27, 2017, 06:33:33 pm
content: Quote from: Monkeh on November 27, 2017, 06:29:46 pmI've been running Windows 7 32 bit + PAE for years, and I have yet to run into one of those drivers. Can you name a few examples?

author: Monkeh
author_rank: Super Contributor
timestamp: November 27, 2017, 06:34:54 pm
content: Quote from: edavid on November 27, 2017, 06:33:33 pmNo, I can't. And none of them will be modern, signed drivers. Still, that is the excuse from Microsoft. It's a terrible one, but that's the given reason for hobbling 32-bit desktop OSes.I'm fairly okay with it, because 32-bit should've died a decade ago.

author: nctnico
author_rank: Super Contributor
timestamp: November 27, 2017, 08:12:08 pm
content: Quote from: Monkeh on November 27, 2017, 06:34:54 pmI disagree. 64bit became useable recently. Before that lots of problems with incompatible software. I don't want to spend time solving computer problems / be an early adopter. I want my computer to work so I'm still sticking to 32 bit. The next PC will probably get a 64 bit Linux install but that is a few years away.

author: VulcanBB18
author_rank: Contributor
timestamp: November 28, 2017, 04:07:13 am
content: What does the BIOS report the memory size as?Windows 10 will read the DIMM to get the information about what size they *should* be, but the actual memory size reported as being used is determined from the BIOS. If the BIOS has decided that some of the RAM is bad or one DIMM doesn't pass POST then you'll get wacky memory size reported in Windows. Even more so if there aren't correct drivers loaded for the motherboard chipset in Windows.cheers,

author: Monkeh
author_rank: Super Contributor
timestamp: November 28, 2017, 04:10:17 am
content: Quote from: VulcanBB18 on November 28, 2017, 04:07:13 amErr.. no, OSes as a general rule don't use SPD data for this.It's a 32-bit install. This is what happens. Please no out of the box theories to confuse matters.

author: amyk
author_rank: Super Contributor
timestamp: November 28, 2017, 12:20:31 pm
content: It's funny how many people propagate the myth "you can't use more than 4GB of RAM on 32-bit Windows" because it's what Microsoft officially say and they like to refer to 2^32 = 4GB (it's actually 36bits of physical address space with PAE on), but just like with scope bandwidths and options, it's an artificial limit you can unlock...http://www.geoffchappell.com/notes/windows/license/memory.htm

author: wraper
author_rank: Unknown
timestamp: November 28, 2017, 12:41:08 pm
content: Quote from: Monkeh on November 28, 2017, 04:10:17 amAlthough it's apparent that the main issue here is 32 bit os, I can say something form my experience. When I tried 4x 16GB ddr4 ECC unbuffered sticks on certain ryzen motherboard, win 10 x64 would show me full 64GB present but only 32 GB available and the rest of it showing as "hardware reserved". After long fighting, it turned out motherboard didn't like one particular stick when another stick is used on the same channel, although it appeared fine in bios settings. But this stick worked completely fine when left alone in the channel. So I replaced that particular RAM stick with another one and I no longer had 32GB reserved issue. Out of that I can conclude that Win 10 had a way to detect how many sticks there actually were, even though half of them were inactive.

author: bd139
author_rank: Super Contributor
timestamp: November 28, 2017, 12:55:51 pm
content: 32-bit address space is not an artificial limit. Extending that with PAE is a hack job akin to HIMEM.SYS from DOS days. It's a stupid solution and should never be used. It's like building a shed on the back of your house. Every time you fill your house up, you have to go back and forth to the shed to reorganise stuff. Answer is buy a bigger house.LME incapable or buggy as fuck drivers which I've encountered: FC cards, PCI serial cards, Matrox graphics cards, virtualization drivers (vmware workstation).Also note that drivers which aren't compiled with LME actually have to copy memory twice in and out of the address space of the CPU so you get shitty performance.Also even if you have PAE enabled, if hardware takes memory away, then that's taking it out of the 32-bit address space of the CPU, not from the total PAE allocated space.Just use a 64-bit OS. There's no reason not to, unless you have some weird driver which is 32-bit only or something at which point you should start thinking about replacing that hardware.

author: Monkeh
author_rank: Super Contributor
timestamp: November 28, 2017, 01:07:26 pm
content: Quote from: amyk on November 28, 2017, 12:20:31 pmSome editions of Windows 2000, as well as other server versions, do not have the same hobbling applied. Desktop versions, on the other hand.. No myth being perpetuated here.Quote from: wraper on November 28, 2017, 12:41:08 pmIt's entirely likely the BIOS still reported the full amount of RAM and left an area marked as reserved. They could be checking the SPD, I admit - but it's immaterial whether they do or do not, because you do as the BIOS/UEFI tells you or things explode.

author: wraper
author_rank: Unknown
timestamp: November 28, 2017, 02:19:23 pm
content: Quote from: Monkeh on November 28, 2017, 01:07:26 pmWhat I mean is as OP got 1.7 GB available, things may be more complicated as just 32 bit OS. Probably he had it like 2GB detected out of which 256 - 320 MB were used for iGPU.

author: Monkeh
author_rank: Super Contributor
timestamp: November 28, 2017, 02:20:37 pm
content: Quote from: wraper on November 28, 2017, 02:19:23 pmHe had a 2GiB card installed, which almost certainly decided it wanted 2GiB of low address space for DMA, because the system had lots of memory available (unknown to the firmware, the OS is hobbled).The rest of it goes away in memory mapped registers for other devices.Even on a 64-bit system, I lose 411MiB of RAM to various reservations.

author: wraper
author_rank: Unknown
timestamp: November 28, 2017, 02:35:13 pm
content: Quote from: Monkeh on November 28, 2017, 02:20:37 pmThis should only happen if he uses AMD APU together with discrete GPU in dual graphics mode.

author: TopLoser
author_rank: Unknown
timestamp: November 28, 2017, 02:41:29 pm
content: Quote from: wraper on November 28, 2017, 02:35:13 pmYes the system had an additional discrete AMD R7 graphics card in addition to the APU, that grabbed 1G. Once I took that out I got 1G back (the APU on its own still wants 1G).

author: wraper
author_rank: Unknown
timestamp: November 28, 2017, 02:49:36 pm
content: Quote from: TopLoser on November 28, 2017, 02:41:29 pmThen you can insert it back and disable iGPU in bios. You should get almost all of that RAM back. Although I would just spend time and do a fresh install of x64, instead of keep feeling a small pain here and there for years. x64 is already mature and some modern applications don't even have 32 bit versions anymore.

author: macboy
author_rank: Super Contributor
timestamp: November 29, 2017, 03:47:15 pm
content: Quote from: Monkeh on November 28, 2017, 01:07:26 pmThere is nothing fundamentally wrong with or broken with PAE. Microsoft server versions of the OS have used it since NT 3.5 era. That's 20 years give or take. Windows 2000 Pro also allowed it. PAE really does allow the computer to use more than 4 GB total physical memory. There are caveats. First, the chipset must support it. Then the BIOS must support it, and re-map extra physical memory to addresses above the main 4 GB window. This is very important. The O/S needs to be informed of this additional memory by the BIOS or all is lost. Finally, you need to understand and accept that although the machine might have many GB available, each individual process is running it its own private 32 bit (4 GB) virtual memory space. In 32 bit Windows (or 64 bit Windows running a 32 bit program), this 4 GB space includes a shared system area of 2 GB for memory mapped hardware plus shared memory, O/S functions, etc., plus 2 GB of private allocatable/usable memory. No matter how much free memory the computer has (be it just 1 MB or 64 GB), the process has access to exactly and only this 4 GB virtual memory space, which makes sense as all memory pointers are 32 bits in size. Two decades ago, the 2 GB of usable memory per process limit wasn't too big of a deal. Things that needed more (Photoshop, large database software) had to deal with that themselves. Today, with video editing and virtual machines being common desktop tasks, a 2 GB wall is basically unworkable. That, I think, is why Microsoft refuses to enable PAE. They don't want to deal with unsavvy users whose software complains of low memory when they have 8 or 16 GB installed.