5

Back in the Windows 7 days, Windows Memory Diagnostics Tool was unable to scan RAM beyond 4GB:

...the tool can address only up to 4GB of RAM and will not scan beyond that range.

Fast-forward to today. Windows 10 has, built in, a (presumably) later version of the Windows Memory Diagnostics Tool tool. I am running it now on a PC with 16GB RAM. But the GUI is extremely plain. It does not show what amount or range of RAM it's scanning.

Does anyone know if this latest Windows 10 incarnation of the tool scans all 16GB of RAM, or is it still limited to the first 4GB like previous versions?

Extra info for the extra curious:

Windows Memory Diagnostics Tool does not run under Windows. It is a bare-metal app that has direct access to physical RAM (well, almost direct, but no need to get too technical). Without being privy to the source code, we can only speculate how it runs under the hood and why there was/is a 4GB limit. Clearly even 32-bit bare-metal apps can gain access to physical RAM above 4GB, so long as such apps utilize protected mode together with PAE. That's exactly how Memtest86 used to do it, before native 64-bit support was introduced.*

Ultimately, this question is not about what is possible and how, but what Windows Memory Diagnostics Tool is capable of. Is the latest version that ships with Windows 10 still limited to the first 4GB of RAM?

misha256
  • 11,543
  • 8
  • 60
  • 70

2 Answers2

1

This is how I went about examining the question :

I first opened the Windows 10 ISO :

image1

And extracted the memtest.exe file, dating from 2015 (a good sign), then examined it :

image2

To find out to my great surprise that this is only a 32-bit program. But of course it could still be using PAE to test more than 4 GB.

I then started the memory test on a VM with Windows 10 and 8 GB of RAM. The test results are well-hidden, but I found them in the Event Viewer, under Windows Logs -> System, as events which have "MemoryDiagnostics" in the Source column :

image

As you can see, Windows claims that the test on 8GB has passed.

So Microsoft's answer to your question is : Yes, we can. It would have been incredible had it been otherwise.

harrymc
  • 498,455
0

That tool above is too old and indeed it supports only up to 4GB of RAM.

But Windows built in memtest.exe is different. I opened Windows 7 64-bit c:\Boot\memtest.exe, and it shows me, that it's 32-bit application. I guess Microsoft made one tool for both 32-bit/64-bit hardware. That will run instead of Your OS, in "pre-OS mode", PC "boots" into memtest instead of Your OS. Tool may work in its own mode, not linked to OS(64-bit mode or 32-bit or even 16-bit "real" mode). Tool doesn't use any OS components, like DLLs, device drivers. I believe if we have same binary for 32-bit and 64-bit it should check all available memory including Your 16GB.

NoAngel
  • 431