Professional Documents
Culture Documents
Version 7.3
1.3 Compatibility
MemTest86 is designed to work with all processors using the Intel/AMD x86 and X86_64
architecture, running on UEFI or BIOS systems. Most newer systems are able to run the UEFI
version of MemTest86, but all systems should be able to boot the traditional BIOS version.
MemTest86 is able to test all types of memory. There is no need for MemTest86 to know what
type of memory it is testing. MemTest86 attempts to detect and display information about the
hardware it is testing but this information is not used during testing.
Since MemTest86 is a standalone program it does not require any operating system support
for execution. It can be used with any PC regardless of what operating system, if any, is
installed.
MemTest86 is multi-threaded and is able to concurrently use multiple CPUs to test memory. It
may, however, be limited by the implementation in the underlying firmware.
Single-Image Boot
Configuring Serva for Single-Image Boot is ideal for servers that require only a simple setup
and do not need to distribute software images other than MemTest86. All necessary settings
are configured within the Serva application and do not require any additional configuration
files.
1. Open Serva and select 'Settings'
2. Click on the TFTP tab to setup the TFTP server
a) Ensure that 'TFTP Server' is checked
b) Specify the TFTP root directory. This should be the location where the files in the
MemTest86 are to be extracted.
c) Set the TFTP Security to 'Standard' to allow MemTes86 report files to be uploaded
to the server
4. Press OK to save the settings. Close and restart Serva to apply the settings.
5. After restarting Serva, a directory structure of several folders should have been created
in the TFTP root directory specified in Step 2b. Open the 'NWA_PXE' folder and create
a new directory to hold the MemTest86 files (eg. 'MEMTEST86').
6. Extract all files in the MemTest86 package to the directory created in Step 5.
7. Create a file 'ServaAsset.inf' in this directory. Paste the following configuration text in
the file. For more details on the configuration parameters, consult the Serva manual.
[PXESERVA_MENU_ENTRY]
kernel_efi64 = \NWA_PXE\$HEAD_DIR$\BOOTX64.EFI
append_efi64 = TFTPROOT=\NWA_PXE\$HEAD_DIR$
kernel_efi32 = \NWA_PXE\$HEAD_DIR$\BOOTIA32.EFI
append_efi32 = TFTPROOT=\NWA_PXE\$HEAD_DIR$
title MemTest86
linux16 /boot/memtest.bin
Boot from a disk partition using Lilo:
1. Copy memtest.bin to a permanent location (ie. /boot/memtest.bin).
2. Add an entry in the lilo config file (usually /etc/lilo.conf) to boot memtest86. Only the
image and label fields need to be specified. The following is a sample Lilo entry for
booting memtest86:
image = /boot/memtest.bin
label = memtest86
3. As root, type "lilo"
Note: The UEFI BIOS must be configured to boot from the device that
MemTest86 is installed on. Most systems have an optional boot menu that is
enabled by pressing a key at startup (often ESC, F9, F11 or F12). If available,
use the boot menu to select the correct drive. You may see both the UEFI and
BIOS as separate options. Please consult your motherboard documentation for
details.
On a Mac, you need to hold down the 'c' key while the computer is booting to
boot from CD. To boot from USB, you need to hold down the ALT / Option key
on the Mac keyboard while powering on the machine.
Selecting 'Exit' shall reboot your system. To configure the memory tests, select 'Config' and
the main menu is displayed. The main menu allows the user to customize the memory test
settings such as the specific tests to execute, address range to test and which CPU(s) are
used in testing.
View detailed RAM (SPD) info - displays the SPD information stored in the individual RAM
modules. The RAM SPD information can be saved to a file on disk (Pro version only)
Note: Retrieving RAM SPD information is highly dependent on the system's
motherboard/CPU chipset. Most common hardware should be supported but for some
systems, accessing the SPD modules using the mechanism required by the chipset may not
be supported. If this is the case, please send the MemTest86.log file to help@passmark.com,
along with details of your system. The log file will be analyzed to determine whether or not the
chipset can be supported in future versions.
View memory usage - displays how the system memory address map is allocated amongst
the subsystems.
Memory caching: Enabled/Disabled (Pro version only) disable/enable memory caching
when the tests are running. Warning - disabling memory caching greatly reduces the
To enable/disable a test, use the up / down arrow keys or mouse to highlight a test, then
press enter or click. Test 11 and 12 are available only in the Pro version.
To change the number of passes, select 'Number of passes' and enter the desired number of
passes.
To change the lower or upper limit of the address range to test, select the appropriate setting
and enter a new value.
To enter a decimal address, enter the address as is.
To enter a hexadecimal address, enter '0x' followed by the hex address.
You may also use the suffixes 'k', 'm', 'g' to specifiy kilobyte, megabytes and gigabytes
respectively.
Selecting 'Reset Limits to default' will reset the limits to its maximum values.
Single - specifies a single CPU to test, and prompts the user to enter a valid CPU number
Parallel - executes the memory tests on all CPUs concurrently, on a set of non-overlapping
memory segments
Round Robin - only one CPU is running a test at any given time but cycles to the next CPU
in a round robin fashion after every test
Sequential - only one CPU is running a test at any given time but cycles to the next CPU
after a certain memory size has been tested by the CPU.
Use the up / down arrow keys or mouse to highlight a result to graph, then press enter or
click. A maximum of 8 results can be plotted onto a single graph. Once all desired results are
selected, selecting 'Graph selected result(s)' shall plot the selected result(s) to a graph.
TSTLIST=0,1,3,5,8
NUMPASS=3
ADDRLIMLO=0x10000000
ADDRLIMHI=0x20000000
CPUSEL=PARALLEL
CPUNUM=1
CPULIST=2,3
DISABLEMP=1
ENABLEHT=1
ECCPOLL=0
ECCINJECT=0
MEMCACHE=0
PASS1FULL=0
ADDR2CHBITS=12,9,7
ADDR2SLBITS=3,4
ADDR2CSBITS=8
LANG=ja-JP
REPORTNUMERRS=10
REPORTNUMWARN=10
AUTOMODE=1
SKIPSPLASH=1
MINSPDS=0
SPDMANUF=Kingston
SPDPARTNO=9905402
BGCOLOR=BLUE
HAMMERPAT=0x10101010
HAMMERMODE=SINGLE
HAMMERSTEP=0x10000
Lines that start with '#' indicate a comment line. All parameters are specified as follows:
[Parameter_name]=[Parameter_value]
The following table summarizes the list of supported parameters:
Parameter Description
TSTLIST List of tests to execute in the test sequence. Each test is specified by a test number,
separated by a comma.
NUMPASS Number of iterations of the test sequence to execute. This must be a number greater
than 0.
ADDRLIMLO The lower limit of the address range to test. To specify a hex address, the address
must begin with '0x'. Otherwise, the address shall be interpreted as a decimal
address.
ADDR2CHBITS=1,8,9
ADDR2SLBITS=3,4
ADDR2CSBITS=5,11
HAMMERMODE Specifies one of the following hammering algorithms to use for the row hammer test
(Test 13):
{
'SINGLE', // single-sided hammer test
'DOUBLE' // double-sided hammer test (default)
}
HAMMERSTEP The step size in bytes to use to determine the next row address pair to hammer. The
size can be specified as a decimal or hex number. To specify a hex number, the size
must begin with '0x'. This value must be greater than or equal to 64 bytes.
2.5.6 Testing
Once the memory test has started, the following screen which shows the test status is
displayed:
The runtime configuration commands allow the user to adjust the following settings.
(1) Skip Current Test- Aborts the current test and starts the next test in the sequence
(2) End Test - Stops the test and displays a summary of the results
(3) Go Back to Main Menu Stops the test and returns to the main menu
(4) Continue - Resume the test
Note: The BIOS must be configured to boot from the device that MemTest86 is
installed on. Newer computers have an optional boot menu that is enabled be
pressing a key at startup (often ESC, F9, F11 or F12). If available use the boot
menu to select the correct drive. With older computers the boot sequence must
list the drive used to load Memtest86 before any other bootable media (i.e. a
hard disk where Windows is installed). Most systems will be configured with a
suitable boot sequence. If not you can reconfigure the boot sequence using the
BIOS settings. Please consult your motherboard documentation for details.
2.6.1 Testing
When MemTest86 starts it displays details about the system configuration and then begins
testing. MemTest86 executes a repeating cycle of tests. Testing will continue to run until the
program execution is interrupted (by pressing the ESC key or pressing the reset button).
There is no set time for how long the test should be run. The following is an example of the
MemTest86 screen.
MemTest86 executes a series of numbered test sections to check for errors. The execution
order for these tests has been arranged so that errors will be detected as rapidly as possible.
The pass counter increments each time that all of the tests have been run. The first pass is
abbreviated to find errors more quickly. Subsequent passes execute longer and will be more
The runtime configuration commands allow the user to adjust the following settings.
(1) Test Selection - Individual tests may be selected for execution or the current test may
be skipped. When a failure has been identified it is much faster to troubleshoot by
running only the failing test.
(2) Address Range - With this option memory testing may be restricted to a selected
portion of memory. This is also useful to speed up the troubleshooting process by
testing only the failing portion of memory.
(3) Error Report Mode - The error report mode may be changed to provide different types
of error information. The default Error Summary mode provides all of the details
required for diagnosing memory problems. However, other error reporting modes are
available. "BadRAM patterns may be used with Linux systems to map out bad
memory blocks.
(4) CPU Selection Mode This option controls how CPUs are selected for testing. The
options are All, Round Robin and Sequential. With Round Robin CPUs are selected in
When the individual error reporting mode is selected the following information is displayed.
An error message is only displayed for errors with a different address or failing bit pattern. All
displayed values are in hexadecimal.
Label Description
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
B.2 Enhancements
Please send enhancement requests to:
info@passmark.com
All requests will be considered, but not all can be implemented