PassMark MemTest86 Operation Manual

Copyright 2024 PassMark® Software Page 1
MemTest86 User Manual
Version 10.7
Copyright 2024 PassMark® Software Page 2
Table of Contents
1.1 Memory Reliability ...................................................................................................................................3
1.2 MemTest86 Overview ...............................................................................................................................3
1.3 Compatibility ............................................................................................................................................3
1.3.1 UEFI .....................................................................................................................................................3
2.1 Boot-disk Creation in Windows ................................................................................................................6
2.2 Boot-disk Creation in Linux .......................................................................................................................6
2.3 Boot-disk Creation in Mac ........................................................................................................................6
2.4 Setting up Network (PXE) Boot .................................................................................................................8
2.4.1 Configuring a PXE Server on CentOS 7 ................................................................................................8
2.4.2 Configuring Serva for MemTest86 PXE Boot .......................................................................................9
2.5 Using MemTest86 .................................................................................................................................. 14
2.5.1 Booting MemTest86 via USB ............................................................................................................ 14
2.5.2 Booting MemTest86 via Grub .......................................................................................................... 14
2.5.3 Booting MemTest86 via Network (PXE) ........................................................................................... 19
2.5.4 Booting MemTest86 via Serial Console ............................................................................................ 19
2.5.5 MemTest86 Splash Screen ............................................................................................................... 20
2.5.6 Main Menu ...................................................................................................................................... 21
2.5.7 Configuration File (Pro version only) ................................................................................................ 30
2.5.8 Testing .............................................................................................................................................. 39
2.5.9 Test Results/Reports ........................................................................................................................ 40
2.5.10 DIMM / DRAM chip error decoding (Pro & Site Edition only) ..................................................... 43
2.5.11 Troubleshooting MemTest86 Problems ....................................................................................... 46
3.1 Hammer Test (Test 13) Errors ................................................................................................................ 47
3.2 DMA Test (Test 14) Errors ...................................................................................................................... 48
3.3 ECC Errors .............................................................................................................................................. 49
4.1 Anti-Static Handling Procedures ............................................................................................................ 50
4.2 Re-Seating Memory Modules ................................................................................................................ 50
4.3 Replacing Modules ................................................................................................................................ 50
4.4 Error Validity .......................................................................................................................................... 51
5.1 Background ............................................................................................................................................ 52
5.2 Operating Margins ................................................................................................................................. 52
5.3 Using MemTest86 for Over Clocking ..................................................................................................... 52
Appendix A. Technical Information .................................................................................................................... 55
Appendix B. Product Support ............................................................................................................................ 67
Appendix C. Change Log .................................................................................................................................... 70
Appendix D. Acknowledgments ....................................................................................................................... 103
Copyright 2024 PassMark® Software Page 3
1 Introduction
1.1 Memory Reliability
Properly functioning memory is critical for reliable operation of any computing device. Few users fully understand the risks associated with memory errors. Because devices typically do not have any mechanisms for detecting memory errors, confusing and potentially disastrous consequences can result from these undetected memory problems. Memory errors will often cause erratic behavior with software applications that can mysteriously fail. The most serious risk from memory errors, however, is corruption of data that manages how information is stored on disk. In most cases, this type of corruption will cause one or more files to be lost. There are cases where a memory error can cause the loss of the entire contents of your hard disk. Periodic testing of memory with a rigorous and thorough memory test will greatly reduce the risk of problems and data loss due to memory errors.
1.2 MemTest86 Overview
Memory errors are often pattern sensitive and may be very intermittent. Detecting these errors is technically challenging and is an imperfect science. MemTest86 uses advanced algorithms that have been refined for more than 20 years. These testing techniques are highly effective at detecting difficult to find memory errors. In addition, MemTest86 has the capability to test all available memory.
Memory testing programs execute from memory and therefore are not able to test the memory that is occupied by the test program itself. MemTest86, due to UEFI platform limitations, is unable to remap itself to different portions of memory in order to run tests in the section of memory it was occupying. The UEFI firmware itself also takes up some space compared to a traditional BIOS.
1.3 Compatibility
MemTest86 is designed to work with all processors using the Intel/AMD x86 and x86-64 architecture, as well as the ARM64 architecture, running on UEFI systems. Most newer systems are able to run the UEFI version of MemTest86.
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 lack of multiprocessor support in the underlying UEFI firmware.
1.3.1 UEFI
For UEFI systems, multiprocessor support is dependent on the multiprocessor services provided by the UEFI firmware. On older UEFI systems, the multiprocessor support can be limited or incomplete, causing issues such
Copyright 2024 PassMark® Software Page 4
as a reduced number of CPU cores available for testing or even program freeze when attempting to run on other CPU cores. It is recommended that MemTest86 is run on only one CPU core if it fails to run on multiple CPU cores.
Copyright 2024 PassMark® Software Page 5
2 Setup and Use
MemTest86 supports booting from the UEFI platform. When booting from UEFI, MemTest86 has access to additional services not available in BIOS including:
Native 64-bit support
No longer requires the use of the PAE workaround to access more than 4GB of memory. (PAE = Physical
Address Extension)
Improved multi-threading support, where supported by the underlying UEFI system
Option to disable CPU memory caching for all or individual tests
Graphical interface with mouse input where supported by the underlying UEFI system
Improved USB keyboard support, including systems that fail to emulate IO Port 64/60 correctly (eg. Mac
USB keyboards)
Reporting of configured RAM parameters including clock speed, timings, channel mode and voltages
(limited to supported chipsets, ongoing development)
Reporting of detailed RAM SPD information including timings, clock speeds, vendor names and much
more
Support for DDR5 RAM (and associated hardware), including retrieval and reporting of DDR5-
specific SPD details. This includes DDR5 RAM that support Intel XMP 3.0 profiles.
ECC error reporting (limited to supported chipsets, ongoing development) Reporting of ECC capabilities and operation mode Reporting of detected and corrected ECC errors Injection of ECC errors for test purposes (limited hardware only)
DIMM-level/chip-level error detection (limited to supported chipsets, ongoing development) Per-module/per-chip error tracking and reporting Results summarized in a simplified graphical display/HTML report
Real-time DIMM temperature reporting (limited to supported chipsets, ongoing development)
Support for storing logs and reports to disk/network. In all prior MemTest86 releases, there was no disk
or network support.
Support for network PXE boot for scalable, diskless deployment
Full test automation via configuration file
Secure Boot signed by Microsoft for ensuring software integrity
MemTest86 can boot from USB flash drive or, with Linux systems, by the boot loader (for example, LILO or Grub). Any Windows, Linux or Mac system may be used to create the USB flash drive. Once a MemTest86 boot disk has been created, it may be used on any x86 (PC) computer with a USB flash drive.
MemTest86 (Site Edition only) also supports diskless booting via PXE network boot. A DHCP/PXE server must be present on the network for PXE boot-enabled client machines to obtain the MemTest86 image via the network.
Copyright 2024 PassMark® Software Page 6
2.1 Boot-disk Creation in Windows
1. Download the MemTest86 USB image zip file.
2. Extract the contents of the zip file to a directory
3. Plug in the USB drive
4. Launch the ImageUSB application included in the zip file
5. Select your USB drive from the list (Step 1).
6. Select 'Write image to USB drive' (Step 2)
7. If it is not already selected, select the included image file (Step 3).
8. Click 'Write' (Step 4).
9. After accepting a few more prompts this should give you a working bootable USB drive
2.2 Boot-disk Creation in Linux
1. Download the MemTest86 USB image.
2. Unzip the package (unzip memtest86-usb.zip). An image file and a readme.txt file will be created in the current directory.
3. Plug in the USB drive
4. Determine which device the USB drive is assigned as (eg. /dev/sdc) by opening the Terminal and typing the following command:
lsblk -p -o NAME,VENDOR,MODEL,SIZE,TYPE,SERIAL
5. As root, use the 'dd' command to write the image to the USB drive. For example,
sudo dd if=memtest86-usb.img of=<dev> conv=fsync status=progress
where <dev> is the device the USB key is assigned to obtained from the previous command. Use the base device (ie. /dev/sdc) not a partition designation (ie. /dev/sdc1).
**Warning** All data on the USB key will be lost. Make sure that the device used in the dd command above is correct.
2.3 Boot-disk Creation in Mac
1. Download the MemTest86 USB image.
2. Unzip the package (unzip memtest86-usb.zip). An image file and a readme.txt file will be created in the current directory.
3. Plug in the USB drive
4. Determine which device the USB drive is assigned as by opening the Terminal and typing the following command:
diskutil list
5. Unmount all volumes on the USB drive by typing the following command:
Copyright 2024 PassMark® Software Page 7
diskutil unmountDisk [device name]
6. As root, use the 'dd' command to write the image to the USB drive. For example,
sudo dd if=memtest86-usb.img of=<dev> conv=sync
where <dev> is the device the USB key is assigned to obtained from the previous command. Use the base device (ie. /dev/disk1) not a partition designation (ie. /dev/disk1s1).
**Warning** All data on the USB key will be lost. Make sure that the device used in the dd command above is correct.
Copyright 2024 PassMark® Software Page 8
2.4 Setting up Network (PXE) Boot
MemTest86 (Site Edition only) supports network booting via PXE. In order to configure PXE booting of MemTest86, a DHCP/PXE server must be present on the network which hosts the MemTest86 boot images to PXE boot-enabled client machines. Network booting of MemTest86 has been tested successfully with the Linux­based CentOS (DHCP + TFTP server) and Windows-based Serva PXE Server but other PXE servers should work as well. For step-by-step instructions, see Configuring a PXE Server on CentOS 7 or Configuring Serva for MemTest86 PXE Boot. For others, see the manual for your DHCP/PXE server for configuration instructions.
Once the PXE server is configured, extract the files from the MemTest86 Site Edition package to the appropriate directory for your PXE server configuration. In the PXE server settings, specify the boot image file to “BOOTX64.efi” for x86-64 clients, “BOOTIA32.efi” for x86 clients, and “BOOTAA64.efi” for ARM64 clients.
The configuration file (mt86.cfg) is supported in PXE boot and can be used to configure and customize MemTest86. Likewise, report files are supported and can be uploaded to the PXE/TFTP server. Currently, logs can only be saved on a local disk.
2.4.1 Configuring a PXE Server on CentOS 7
Any Linux distribution that includes TFTP and DHCP server software packages can be configured as a PXE server. This has been tested successfully on CentOS 7 but other mainstream Linux distributions can be configured as PXE servers as well. Please consult the documentation for those distributions for setup instructions.
1. Open a terminal session
2. Install the TFTP server by entering the following:
yum install tftp-server xinetd
3. Configure TFTP server by editing /etc/xinetd.d/tftp. In particular, ensure ‘disable’ is set to ‘no’ and server_args is set appropriately (ie. includes a path to your TFTP server root directory and specifies a remap file for fixing paths with backslashes).
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd
server_args = -c -s -m /var/lib/tftpboot/tftp.remap /var/lib/tftpboot disable = no
per_source = 11 cps = 100 2 flags = IPv4 }
4. Create the TFTP server root directory. In the following example, the TFTP root directory is /var/lib/tftpboot
mkdir -p /var/lib/tftpboot
5. Extract MemTest86 Site Edition files to the TFTP server root directory. Ensure read/write permissions are properly set.
Copyright 2024 PassMark® Software Page 9
unzip memtest86-site.tar.gz -d /var/lib/tftpboot chmod -R 777 /var/lib/tftpboot
6. Install DHCP server by entering the following:
yum install dhcp
7. Configure the DHCP server by editing /etc/dhcpd.conf. In the following example, the the DHCP server shall provision IP addresses to a local network with subnet 192.168.100.0/24. The DHCP server is connected to this network via interface eth0 which is assigned a static IP address of 192.168.100.1
option arch code 93 = unsigned integer 16; # RFC4578 allow booting; allow bootp;
subnet 192.168.100.0 netmask 255.255.255.0 { interface eth0; range dynamic-bootp 192.168.100.100 192.168.100.254; option broadcast-address 192.168.100.255; option routers 192.168.100.1;
class "pxeclients" { match if substring (option vendor-class-identifier,0,9) = "PXEClient"; next-server 192.168.100.1;
if option arch = 00:09 { # x86-64 EFI BOOT filename "BOOTX64.efi"; } else if option arch = 00:07 { # x86-64 EFI BOOT filename "BOOTX64.efi"; } else if option arch = 00:06 { # x86 EFI BOOT filename "BOOTX32.efi"; } else if option arch = 00:0b { # ARM64 EFI BOOT filename "BOOTAA64.efi";
}
else { # legacy BIOS boot filename "pxelinux.0"; } } }
8. Start the TFTP and DHCP servers
service xinetd start service tftp start service dhcpd start
2.4.2 Configuring Serva for MemTest86 PXE Boot
Serva is a light-weight but powerful Windows PXE server that bundles all required services (eg. DHCP, TFTP) in order to support UEFI-based booting. Serva does not require an installation and can be setup in minutes.
Note: MemTest86 PXE Boot has been tested to work with Serva v3.0.0. There has been reports of issues with uploaded files being truncated to 512 bytes with Serva v3.2.0. Please use v3.0.0 until the issue has been resolved.
To enable PXE booting of MemTest86, Serva can be configured in one of two ways: Single-Image Boot (for booting MemTest86 only) or Automated Multi-Image Boot (for configuring multiple boot targets).
Copyright 2024 PassMark® Software Page 10
2.4.2.1 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
3. Click on the DHCP tab to setup the DHCP server a) If your network already has a DHCP server, check 'proxyDHCP'. Otherwise, check 'DHCP Server'. b) If 'DHCP Server' is selected, specify the 'IP Pool 1st Addr', 'Pool size' and 'Subnet Mask' for the DHCP
server.
c) Specify the 'Boot File' to be retrieved by the client. For x86 clients (most systems), enter
'BOOTX64.efi' (64-bit) OR 'BOOTIA32.efi' (32-bit) as the boot file. For ARM64 clients, enter 'BOOTAA64.efi'.
Copyright 2024 PassMark® Software Page 11
4. Press OK to save the settings.
5. Extract all files in the MemTest86 package in the folder specified in Step 2b.
6. Close and restart Serva to apply the settings.
2.4.2.2 Automated Multi-Image Boot
Configuring Serva for Automated Multi-Image Boot is ideal for servers that distribute more than one boot image to PXE clients. Instead of booting the MemTest86 image directly, the client machine is given a menu of boot images to choose from. This configuration offers the convenience and flexibility of managing multiple boot images with minimal overhead.
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 root directory of where all boot images are
stored.
Copyright 2024 PassMark® Software Page 12
c) Set the TFTP Security to 'Standard' to allow MemTes86 report files to be uploaded to the server
3. Click on the DHCP tab to setup the DHCP server a) If your network already has a DHCP server, check 'proxyDHCP'. Otherwise, check 'DHCP Server'. b) If 'DHCP Server' is checked, specify the 'IP Pool 1st Addr', 'Pool size' and 'Subnet Mask' for the DHCP
server.
c) Check 'BINL' to enable automated management of boot images
Copyright 2024 PassMark® Software Page 13
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. Verify 'ServaAsset.inf' exists in the directory. If not, create and paste the following configuration text in the file. For more details on the configuration parameters, consult the Serva manual.
[PXESERVA_MENU_ENTRY]
asset = MemTest86 platform = x86
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$
8. Close and restart Serva to apply the settings.
Copyright 2024 PassMark® Software Page 14
2.5 Using MemTest86
2.5.1 Booting MemTest86 via USB
To start MemTest86 insert the USB flash drive into the appropriate slot and restart your computer.
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. Please consult your motherboard documentation for details.
It may also be possible to boot using USB card reader devices, although compatibility depends on the device itself and/or motherboard. For optimal compatibility, please use the USB drives implementing the fastest available standard (eg. USB 3.1) from reputable vendors.
On a Mac, to boot from USB, you need to hold down the ALT / Option key on the Mac keyboard while powering on the machine.
On newer Macs (from 2018) with the Apple T2 Security Chip, you may need to change the SecureBoot settings for MemTest86 to boot. Please see the following page for instructions:
https://support.apple.com/en-us/HT208330
All MemTest86 images support booting only in UEFI mode. If your system is unable to boot MemTest86, it is most likely that either:
1. You have an older system that does not support UEFI
2. Your system supports UEFI but is configured in legacy mode (ie. BIOS)
If (1) is true, you system will not be able to boot MemTest86. You will need to upgrade to a new system that supports UEFI in order to run MemTest86.
If (2) is true, you will need to go to the BIOS setup and change the necessary settings in order to boot from UEFI. The actual BIOS setting varies depending on the vendor but it is typically "Legacy Boot", "CSM" or "Compatibility Support Module".
2.5.2 Booting MemTest86 via Grub
Grub is a popular boot loader that many popular Linux distributions come pre-packaged with, such as Ubuntu LTS. In our instance, Grub can be used to chainload MemTest86, directly from a local boot disk/partition on the system.
The following guide provides users with step-by-step instructions on how to configure and use Memtest86 x64 with Grub v2.04 running under Ubuntu 20.04 LTS 64-bit. Please note that the same steps will likely work with other Linux distributions, however this is the only configuration that has been tested and thus cannot guarantee compatibility or provide support for other configurations (e.g. different Linux distros, older Grub
Copyright 2024 PassMark® Software Page 15
versions etc.) The guide assumes that the user is familiar with Linux operating systems and terminal commands.
2.5.2.1 Pre-requisite: enabling Grub menu during boot
On some Linux distributions such as Ubuntu 20.04 LTS, the Grub boot menu is hidden by default, and skipped during the boot process. As such, Grub needs to be configured to permanently display its menu, by performing the following steps:
1. Open the file /etc/default/grub with a text editor, you will see the following contents
2. Change the following two lines and save, close the file:
GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=10
3. Update the grub configuration by running the command below:
sudo update-grub
2.5.2.2 Setup MemTest86 for Grub boot
1. Create a boot image from the MemTest86 USB zip file:
Download the MemTest86 USB zip file available from the PassMark website. Unzip it within its current directory, and then use the built-in fdisk utility to analyze the partition structure and determine the correct mount point:
Copyright 2024 PassMark® Software Page 16
In the screenshot above, the file that needs to be mounted is the memtest86-usb.img2 file, which contains the EFI boot image. As such, this file is extracted and mounted to a temporary location/folder, using the below series of commands.
Create a temporary directory using the following command:
Next, mount the image file to the temporary directory chosen earlier, by calculating the correct mount offset (obtained by multiplying the start – 514048 by 512, the size of each sector, resulting in 263192576):
2. Copy the boot image from the temporary drive to the system EFI partition:
In order to perform this, first locate and confirm the EFI boot drive partition for your local system. This can be performed by running the df command, and observing the output:
Copyright 2024 PassMark® Software Page 17
On this particular system, the EFI boot partition (/boot/efi) is stored under /dev/sda1.
Take note of this directory as it directly corresponds to the disk number, and boot partition the EFI file system is on, this information will be needed in subsequent steps. In this particular example:
/dev/sdxy
where x corresponds to the disk number. a = disk 0, b = disk 1, etc. where y corresponds to the partition number. 1 = partition 1, 2 = partition 2, etc.
Now, copy the locally created /EFI/BOOT directory to your system’s EFI boot directory using the following command:
a. For NVMe drives:
If the EFI boot partition is on a NVMe drive, the above steps will not display the correct partition. Instead, the following steps are required to get the correct disk and partition:
1) Press "c" on the grub menu to get a command line
2) Enter "ls" to get a list of all the drives. The drive/partitions are all listed as (hd#,gpt#), regardless
of what they are physically. Then list the root using "ls (hd#,gpt#)/", for each drive until you find the EFI boot partition.
3. Modify the Grub config to add a MemTest86 boot option:
Navigate to the grub config file directory. Below are the contents of the directory on a fresh Ubuntu installation. In our case we will be editing the 40_custom file. This file is a template that you can use to create additional entries to be added to the boot menu.
Copyright 2024 PassMark® Software Page 18
Open the file in a text editor (with sudo privileges) and add the following text:
Pay attention to the following line:
set root = ‘hd0,gpt1’
Based on your specific environment, edit this line as follows:
hd(x); where (x) = disk number identified in Step 2.
gpt(x); where (x) = partition number identified in Step 2.
Save and close the file.
Finally run the below command to update your grub config, and then reboot your system.
sudo update-grub
Assuming the above steps were successfully performed, the grub bootloader menu should now appear, and display MemTest86 as an option.
Copyright 2024 PassMark® Software Page 19
2.5.3 Booting MemTest86 via Network (PXE)
After configuring the PXE Server for MemTest86 deployment, the client machine must also be configured to boot from network (PXE). In the BIOS setup, ensure that the “UEFI Network Stack” and “IPv4 PXE Support' features are enabled, similar to the screenshot below.
Once PXE support is enabled, ensure that the network PXE boot option is in the appropriate boot order.
Most systems also 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 network PXE boot option. Please consult your motherboard documentation for details.
2.5.4 Booting MemTest86 via Serial Console
For systems without video support, MemTest86 can run in serial console mode from both UEFI and BIOS systems. For MemTest86 v4, select option 5 from the menu to enable output to serial console. You will not need to do anything for MemTest86 v5 or later as it will automatically use the serial console, provided that the UEFI BIOS has been configured to redirect the console to the serial port. No GUI support is available when using the serial console so all test configurations must be done using the configuration file.
Copyright 2024 PassMark® Software Page 20
2.5.5 MemTest86 Splash Screen
When MemTest86 boots, a splash screen is displayed with a 10 second countdown timer which when expires, automatically starts the memory tests with default settings. Pressing a key or moving the mouse shall stop the timer.
Selecting Exit shall allow the user to reboot, shutdown or exit MemTest86. 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 core(s) are used in testing.
Copyright 2024 PassMark® Software Page 21
2.5.6 Main Menu
The Main Menu provides a graphical interface for configuring memory test parameters, as well as displaying information about the system.
A screenshot can be taken and saved to file at any time by pressing F12.
2.5.6.1 System Info
The System Info screen displays the hardware information of the system it is running on, including the following:
CPU information, including clock speed, cache information and number of cores
Memory information, including the total physical memory, RAM configuration and ECC mode
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)
Copyright 2024 PassMark® Software Page 22
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 the chipset can be supported in future versions.
View memory usage - displays the system memory address map.
ECC polling : Enabled/Disabled – if ECC detection/correction is supported and enabled, this option
disables/enables periodic checking of any ECC errors that have been detected by the system while the memory tests are running.
ECC injection: Enabled/Disabled (Pro version only) - if ECC detection/correction is supported/enabled and ECC injection is supported by the system, this option enables/disables injection of ECC errors to simulate how the system responds to real ECC errors. ECC errors are injected at the start of each individual test. If ECC injection is successful, the details of the ECC error shall be reported and displayed on screen as if an actual ECC error was detected.
Note: Although ECC injection may be supported by your hardware, it may be locked by the BIOS. Some BIOS may allow you to unlock the ECC injection feature in the BIOS setup. In some cases, however, you may need a modified BIOS which does not lock the ECC injection feature.
Memory caching: Enabled/Disabled (Pro version only)– disable/enable memory caching when the tests are running. Warning - disabling memory caching greatly reduces the performance of the entire system, including
screen updates.
Save system information summary to file (Pro version only)- Save the system information to a file on disk
Copyright 2024 PassMark® Software Page 23
2.5.6.2 Test Selection
The Test Selection screen allows the user to select the test sequence to run, and the number of passes to run each sequence. See Individual Test Descriptions for a detailed description of each test.
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. (Pro version
only)
Copyright 2024 PassMark® Software Page 24
2.5.6.3 Address Range
The Address Range screen allows the user to specify a subset of the total system address map to test.
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 specify kilobyte, megabytes and gigabytes respectively.
Selecting Reset Limits to default will reset the limits to its maximum values.
Copyright 2024 PassMark® Software Page 25
2.5.6.4 CPU Selection
The CPU Selection screen allows the user to specify a single CPU core to test, or cycle through all logical CPU cores using a selection mode.
In the Free version, the maximum number of logical CPU cores supported in MemTest86 is 16.
In the Pro version, the maximum number of logical CPU cores supported in MemTest86 is 256, but can be increased to 512 using the MAXCPUS configuration file parameter.
Single - specifies a single CPU core to test, and prompts the user to enter a valid CPU ID number
Parallel - executes the memory tests on all physical (ie. non-hyperthread) CPU cores concurrently, on a set of
non-overlapping memory segments. Memory segments are allocated consecutively to CPU core numbers in alternating ascending and descending order for each pass.
Round Robin - only one CPU core is running a test at any given time but cycles to the next CPU core in a round robin fashion after every test
Sequential - only one CPU core 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 core.
Copyright 2024 PassMark® Software Page 26
2.5.6.5 RAM Benchmark
The RAM Benchmark screen allows the user to benchmark their RAM modules, and save the results to disk. The benchmark results can then be plotted onto a graph for comparison.
Block Read/Write - specifies whether memory read or write performance should be benchmarked
Test Mode - specifies which of the following tests to perform:
Memory Speed Per Access Step Size
This test measures the memory speed with respect to memory accesses of varying distances. This test runs through a block of memory sequentially, accessing every address. Next, it runs through the same block again, except this time it accesses every second address (step size 2). Then every fourth address (step size 4) is accessed and so on, until a certain maximum step size is reached. We should expect to see a decline in memory speed as the distance between memory accesses increase.
Memory Speed Per Block Size
This test measures the memory speed with respect to varying memory block sizes. On each subsequent iteration, the block size is increased until a certain maximum block size is reached. Typically, a drop in speed shall be observed when the block no longer fits in the respective cache levels, resulting in the
Copyright 2024 PassMark® Software Page 27
much slower access to main memory.
Access Data Width(Memory Speed Per Block Size only) The size of data in bits (8, 16, 32, or 64 bits) to access at one time. The best results will usually be obtained when selecting an access size that matches the system's native mode.
Start – performs the benchmark and saves the result to disk under Benchmark\. Pressing Esc will cancel the test in the middle of testing.
View Prev. Results – allows the user to select from a list of benchmark results saved under Benchmark\ to plot on a graph
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.
Copyright 2024 PassMark® Software Page 28
The graph can be saved to a bitmap file or exported into an HTML file as a report (Pro version only). The report contains the system information, the graph itself, and the corresponding raw data.
Copyright 2024 PassMark® Software Page 29
2.5.6.6 Settings
The Settings screen allows the user to set all other general configuration options pertaining to the MemTest86 tool.
Language - sets the language used in the program
Resolution - change the screen resolution (main menu only)
Save current configuration to file - (Pro version only) overwrites the mt86.cfg configuration file with the current
settings
Change log/report save location - (Pro version only) change the disk volume (file system) destination of log & report files
Copyright 2024 PassMark® Software Page 30
2.5.7 Configuration File (Pro version only)
Memory test parameters can also be set via a configuration file (mt86.cfg) that is loaded on startup, without the need to manually configure the memory tests every time MemTest86 is run. This is useful especially in testing environments where memory tests need to be executed in an automated fashion without user intervention.
MemTest86 attempts to look for configuration files in the following order:
1. <SMBIOS-baseboard-product>-mt86.cfg
2. <Memory-size-in-GB>GB-mt86.cfg
3. mt86.cfg
MemTest86 shall first attempt to load a filename prefixed with the system’s baseboard (eg. Surface Pro-
mt86.cfg). This allows for separate configuration files for different baseboards, if running MemTest86 on
multiple systems.
If no suitable file was found, MemTest86 shall attempt to load a filename prefixed with the total memory size in GB (eg. 8GB-mt86.cfg). This allows for separate configuration files depending on the size of memory.
Finally, if a suitable file is still not found, it will load the default mt86.cfg configuration file.
2.5.7.1 Basic Configuration File Format
The basic configuration file format supports a single configuration containing a set of parameter and value pairs.
Lines that start with '#' indicate a comment line. All parameters are specified as follows:
[Parameter_name]=[Parameter_value]
A sample basic configuration file is as follows:
# MemTest86 basic configuration file
TSTLIST=0,1,3,5,8 TESTCFGFILE=customtests.cfg NUMPASS=3 ADDRLIMLO=0x10000000 ADDRLIMHI=0x20000000 CPUSEL=PARALLEL CPUNUM=1 CPULIST=2,3 MAXCPUS=32 ECCPOLL=0 ECCINJECT=0 MEMCACHE=0 LANG=ja-JP AUTOMODE=1 EXITMODE=1 MINSPDS=0 EXACTSPDSIZE=8192 CHECKMEMSPDSIZE=1 SPDMANUF=Kingston SPDPARTNO=9905402 SPDMATCH=1 HAMMERPAT=0x10101010 HAMMERMODE=SINGLE
Loading...
+ 73 hidden pages