I've read that the original Memtest could move itself around in RAM, is this still the case with the current version of Memtest86?
Announcement
Collapse
No announcement yet.
Does MemTest86 move around in memory so that 100% of RAM gets tested?
Collapse
X
-
No it isn't.
On modern machines the UEFI BIOS and memory mapped IO consume a fair amount of RAM. This can't be moved around.
UEFI BIOS is basically a small operating system (with mouse, disk, GUI and network support). So the benefit of moving the MemTest86 code around in the address space is limited (and technically complex), as there is always going to be these largeish fragmented blocks that can't be moved.
So it is totally impossible to test 100% of RAM if you have booted with BIOS.
Here is an example memory map. "Services data" & "Services Code" are UEFI and the device drivers in UEFI.
This is a simple partial example. Most are worse than this. It is a bit of a mess.
-
Also here is a typical example of memory mapped IO.
(address ranges that get replaced by other hardware)
Comment
Comment