memory test programs

SonLight

New member
I've been looking at memory test programs. I know of three: Memtest86+, available on the boot menu of many linux systems; memtest86, the related version, also bootable; and memtester which runs under the OS and tests a portion of memory, ideally locking the physical memory to get consistent results.

It appears that only memtest86 has recent updates. 86+ last updated 2013, -er last updated 2012. The new 86 is no longer open source, and there are pro versions for sale.

I just downloaded and built memtester. I would like the locking to work better, so I need not use root and can either limit size of tested memory to what my standard account allows to be locked, or test as much as I want to with it unlocked.

I would be interested in any information I've overlooked about newer versions or other memory test programs.
 

SonLight

New member
I've been using memtester a bit. It's the easiest one to try, because no reboot is needed.

Memtester works well if you run it as root. It locks the memory you ask to test. I know from prior experiments that if you ask for too much, the system will become unstable: either it will thrash, moving pages to and from the swap file, or the OOM (out-of-memory) killer will go berserk.

If run as a regular user, memtester still tries to lock memory. As distributed, when locking fails it reduces the size of the request and tries again. In my case, with default settings, that means it tests 64K of memory no matter what size I request. I modified it to test unlocked memory if the lock fails. This produces a warning that testing may be slow and less thorough. While the *may be* seems valid, I wondered if it would be in a typical case. So far I have tried it both ways with 20 MB and 1.2 GB, and in fact it was 10% or more faster when not locked. No clue why; is root inherently slower doing some things? I may configure my user to allow locking many pages and check again.

Ideally, I'd like to be able to run the test continuously, releasing and re-acquiring memory to test as much as possible. A file should be kept identifying how many tests have been run on each section of memory, and perhaps it would favor the untested sections when assigning new space.