Memory Sizing
The BIOS in modern PC's will often reserve several sections of memory for it's use and also to communicate information to the operating system (ie. ACPI tables). It is just as important to test these reserved memory blocks as it is for the remainder of memory. For proper operation all of memory needs to function properly regardless of what the eventual use is. For this reason Memtest86 has been designed to test as much memory as is possible.
However, safely and reliably detecting all of the available memory has been problematic. Versions of Memtest86 prior to v2.9 would probe to find where memory is. This works for the vast majority of motherboards but is not 100% reliable. Sometimes the memory size detection is incorrect and worse probing the wrong places can in some cases cause the test to hang or crash.
Starting in version 2.9 alternative methods are available for determining memory size. By default the test attempts to get the memory size from the BIOS using the "e820" method. With "e820" the BIOS provides a table of memory segments and identifies what they will be used for. By default Memtest86 will test all of the ram marked as available and also the area reserved for the ACPI tables. This is safe since the test does not use the ACPI tables and the "e820" specifications state that this memory may be reused after the tables have been copied. Although this is a safe default some memory will not be tested.
Two additional options are available through online configuration options. The first option (BIOS-All) also uses the "e820" method to obtain a memory map. However, when this option is selected all of the reserved memory segments are tested, regardless of what their intended use is. The only exception is memory segments that begin above 3GB. Testing has shown that these segments are typically not safe to test. The BIOS-All option is more thorough but could be unstable with some motherboards.
The third option for memory sizing is the traditional "Probe" method. This is a very thorough but not entirely safe method. In the majority of cases the BIOS-All and Probe methods will return the same memory map. For older BIOS's that do not support the "e820" method there are two additional methods (e801 and e88) for getting the memory size from the BIOS. These methods only provide the amount of extended memory that is available, not a memory table. When the e801 and e88 methods are used the BIOS-All option will not be available. The MemMap field on the display shows what memory size method is in use. Also the RsvdMem field shows how much memory is reserved and is not being tested.
Return to top
Error Display
Memtest has three options for reporting errors. The default is an an error summary that displays the most relevant error information. The second option is reporting of individual errors. In BadRAM Patterns mode patterns are created for use with the Linux BadRAM feature. This slick feature allows Linux to avoid bad memory pages. Details about the BadRAM feature can be found at http://home.zonnet.nl/vanrein/badram
The error summary mode displays the following information:
Error Confidence Value:
A value that indicates the validity of the errors being reported with
larger values indicating greater validity. There is a high probability
that all errors reported are valid regardless of this value. However,
when this value exceeds 100 it is nearly impossible that the reported
errors will be invalid.
Lowest Error Address:
The lowest address that where an error has been reported.
Highest Error Address:
The highest address that where an error has been reported.
Bits in Error Mask:
A mask of all bits that have been in error (hexadecimal).
Bits in Error:
Total bit in error for all error instances and the min, max and average
bit in error of each individual occurrence.
Max Contiguous Errors:
The maximum of contiguous addresses with errors.
ECC Correctable Errors:
The number of errors that have been corrected by ECC hardware.
Errors per DIMM slot:
Error counts are reported for each memory module installed in the
system. Use the Show DMI Memory Info runtime option for
detailed memory module information.
Test Errors:
On the right hand side of the screen the number of errors for each test
are displayed.
For individual errors the following information is displayed when a memory error is detected. An error message is only displayed for errors with a different address or failing bit pattern. All displayed values are in hexadecimal.
Tst: Test Number
Failing Address: Failing memory address
Good: Expected data pattern
Bad: Failing data pattern
Err-Bits: Exclusive or of good and bad data (this shows the position of the failing bit(s))
Count: Number of consecutive errors with the same address and failing bits