Discussion:
Maximum usable memory of Windows 7 Home
(too old to reply)
NY
2018-10-10 15:46:32 UTC
Permalink
My wife's PC (Win 7 Home Premium) had 4 GB of RAM. For that model, DIMMs
must be added in multiples of 4 to give best performance; adding 2 DIMMs
gives reduced performance.

The only memory supplier that I could find for this sort of memory (fully
buffered DDR2) sold various sizes of DIMM all for the same price (+/- £1).
So we got 4 x 8 GB.

I see that Win 7 Home Premium only supports a maximum of 16 GB, so we've
effectively bought 32 GB of which 16 GB is usable. But to look at it another
way, 16 GB (4 x 4 GB) would have cost virtually the same price.

And Win 8 and 10 have a much higher limit (192 GB), as does Win 7 Pro.

One thing intrigues me. Piriform's "Speccy" refers to total physical as
being 16 GB, but total virtual as being 32 GB. Does that mean that the extra
16 GB is available in some situations?

I look on the extra 16 GB as being an investment for the future if we ever
decide to upgrade it to Win 10 - or Linux.
Paul
2018-10-10 19:30:23 UTC
Permalink
Post by NY
My wife's PC (Win 7 Home Premium) had 4 GB of RAM. For that model, DIMMs
must be added in multiples of 4 to give best performance; adding 2 DIMMs
gives reduced performance.
The only memory supplier that I could find for this sort of memory
(fully buffered DDR2) sold various sizes of DIMM all for the same price
(+/- £1). So we got 4 x 8 GB.
I see that Win 7 Home Premium only supports a maximum of 16 GB, so we've
effectively bought 32 GB of which 16 GB is usable. But to look at it
another way, 16 GB (4 x 4 GB) would have cost virtually the same price.
And Win 8 and 10 have a much higher limit (192 GB), as does Win 7 Pro.
One thing intrigues me. Piriform's "Speccy" refers to total physical as
being 16 GB, but total virtual as being 32 GB. Does that mean that the
extra 16 GB is available in some situations?
I look on the extra 16 GB as being an investment for the future if we
ever decide to upgrade it to Win 10 - or Linux.
"Does that mean that the extra 16 GB is available in some situations?

Yes.

Right now, as I type this, my 8GB machine running WinXP SP3
reports 3.2GB free, but also has a 4GB RAMDisk (using DataRAM RAMdisk
software). The 4GB RAMDisk is using PAE space (or at least,
from a terminology point of view "the address space above
the license limit".

Loading Image...

This OS (WinXP SP3) has a 4GB license, and using
Ring0, the other PAE memory is made available. The "free"
version of this one, allows a freebie RAMDisk of 4GB, so
things work out perfectly for me to get the benefit from
the (excess of) RAM. (The current version only allows
a 1GB RAMDisk in trial mode. This version is pretty old.)

Loading Image...

The OS address license is for Ring3. It does not
apply to Ring0 (where Kernel and drivers live). If
you can find software which runs in Ring0 (DataRAM RAMdisk)
it has options for accessing the memory.

To prove it's an address license and not a memory license,
check the "amount Free". If the value was exactly 16GB, that
tells you it's a memory license. If the value is 15.2GB, that
tells you that 0.8GB of addresses are used for PCI and PCI Express
bus, and only 15.2GB of addresses are left to use for RAM.

The DataRAM software stopped supporting the mode I'm using,
somewhere after release 4.0. I presume Microsoft had a chat
with them behind the scenes, to stop "violating" their
licensing scheme or have their software blacklisted :-)

I don't think the Advanced menu returns to the menu bar if you
run a 32 bit OS. I had some trouble reproducing something
I saw when testing this stuff some time ago, and there's
plenty of permutations and combinations you can run while
testing :-)

This picture is my licensed (I bought a key) product, where
the key is good for any OS on my Test machine. The key is basically
node-locked. It's lost the Advanced menu, so apparently only
licensed Ring3 is available this way. Test with the
Trial Version to see how it works today.

Loading Image...

There are a number of freebie RAMDisks, just as good as
DataRAM. But the tricky part, is which softwares support
memory space above the Ring3 license limit ?

*******

The OS runs on virtual memory.

Some limits in Windows are addressing limits. That's why,
on a 32 bit OS, the OS reports "3.2GB free", when the hardware
would actually support "4GB free". The address is not allowed
to go above a 32 bit value. Microsoft pretends this is for
"driver reasons", whereas Mark Russinovich (while he was not
a MSFT employee) said this was a dubious claim.

By memory hoisting, inaccessible memory can be hoisted above
4GB, and PAE page table entries can access it for 32 bit
OSes. This is why Intel processors had a 36 bit bus on the
FSB since about Pentium III. It allowed extended addresses
to travel to the Northbridge. Some Northbridges only
had 32 bit address, and thus couldn't support anything
interesting.

Your processor has a TLB (translation lookaside buffer).
Much of the time, a virtual address is looked up directly
in the TLB, and a physical address plops out of the bottom
of the CPU and it knows where to go.

If there is a miss on the TLB cache, that triggers
a "table walk" of the page table stored in main memory.
The page table is much larger than the TLB, which is
why it isn't all fitted at once. The page table
has a couple of orientations. The PAE flavor, gives
a 64 bit value in the table, leaving room for Microsoft
to bodge in the NX bit, and prevent malware from
easily executing its own code. Thus, PAE became "mandatory"
as of WinXP SP3, as NX became part of the malware hardening approach.

See "Multilevel Page Table" section here, for the non-PAE
versus the PAE scheme. The PAE flavor is slower on table walks,
but really no one gives a rats ass. We would not have
dreamed of turning on PAE on a year 2005 machine, as your
benchmarks would drop. Now, you might not notice the
difference.

https://en.wikipedia.org/wiki/Page_table

*******

Summary: Voila, a new hobby :-(
Probably one you didn't want.

This is why the Test Machine got a copy of Win7 Pro.
It cost more, but there's no futzing to do. For Win8 and
Win10, this is less of an issue (more SKUs are fully
functional).

Paul

Loading...