MemTest86 Technical Information

Test results / reports

Test result summary

At the end of the test, a summary of the test results is displayed, as shown in the following screenshot:

MemTest86 Test Summary

    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.
    CPUs in Error:
        List of CPU cores that detected memory errors.
    ECC Correctable/Uncorrectable Errors:
        The number of errors that have been corrected/uncorrected by ECC hardware.
    Test Errors:
        On the right hand side of the screen the number of errors for each test are displayed.

HTML report file

The user may also save the results as an HTML test report to a file. The test report appearance is fully customizable in the pro and site license version. Here is an example of an HTML test report

To save your the results as a HTML report, press 'y' to save when prompted. Note the file name the report will appear as, this will be saved to the USB you have booted from.

As seen in the following screenshot:

MemTest86 HTML Report

For Pro and Site editions, HTML report files can be automatically saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters. See Configuring MemTest86 for more details about configuration file parameters.

When network booting from PXE (Site edition only), HTML reports are uploaded to the PXE server. This can be useful for automated workflows such as production line environments.

Binary results file

(Site and Pro editions only) For environments with limited storage space and processing capacity, the user may choose to save the results as a binary file. The format of the binary file is as follows.

typedef struct _TESTRESULT { CHAR8 Signature[4];// "MT86" signature UINT16 Revision; // Current revision: 1.1 (Upper byte: major version; Lower byte: minor version) UINT32 StartTime; //Start test time in Unix time, accurate to 1 sec UINT32 ElapsedTime;//Test elapsed time in seconds UINT64 RangeMin; //Min address tested UINT64 RangeMax; //Max address tested UINT16 CPUSelMode; //0-Single CPU, 1-Parallel, 2-Round Robin, 3-Sequential INT16 CPUTempMin; //Min CPU temp for duration of test (-1 if N/A) INT16 CPUTempMax; //Max CPU temp for duration of test (-1 if N/A) INT16 CPUTempAve; //Ave CPU temp for duration of test (-1 if N/A) INT16 RAMTempMin; //Min RAM temp for duration of test (-1 if N/A) INT16 RAMTempMax; //Max RAM temp for duration of test (-1 if N/A) INT16 RAMTempAve; //Ave RAM temp for duration of test (-1 if N/A) BOOLEAN ECCSupport;//0 if ECC not supported, != 0 if ECC supported INT8 TestResult; //0 if NumErrors>0, 1 if NumErrors==0, -1 if no tests were completed UINT32 ErrorCode; // Error code UINT32 NumErrors; //Number of errors from all tests. Must be 0 if Passed == True UINT64 MinErrorAddr;//Lowest address that had an error UINT64 MaxErrorAddr;//Highest address that had an error UINT64 ErrorBits; //Bit coded field showing the bits in error UINT32 NumCorrECCErrors;//Number of detected and corrected ECC errors from all tests. UINT32 NumUncorrECCErrors;//Number of detected but uncorrected ECC errors from all tests. UINT8 Reserved[14]; // For future use UINT16 NumTestsEnabled;// Number of individual tests enabled struct { UINT8 TestNo; // Test ID number UINT16 NumTestsPassed;// Number tests passed for this test number UINT16 NumTestsCompleted;// Number tests completed for this test number UINT32 NumErrors; // Number of errors detected for this test number } AllTests[1]; // Variable-sized array of size=NumTestsEnabled struct SLOTCHIP_ERRINFO { UINT16 SlotChipErrsArrCount; // Size of variable-sized array SlotChipErrs below struct { INT8 Slot; // Slot number (-1 for unknown) INT8 Chip; // Chip number (-1 for unknown) UINT32 NumErrors; // Number of errors detected for this slot/chip combination } SlotChipErrs[1]; } SlotChipErrInfo; } TESTRESULT;

Binary result files cannot be saved manually and can only be saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters. See Configuring MemTest86 for more details about configuration file parameters.

As with HTML report files, binary results can be automatically saved to disk or uploaded to the PXE server, supporting automated workflows such as production line environments.