Jump to content

MemTest86: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
uploaded image to add it here
Tag: repeated addition of external links by non-autoconfirmed user
Line 51: Line 51:
== External links ==
== External links ==
{{portal|Free software|Free Software Portal Logo.svg}}
{{portal|Free software|Free Software Portal Logo.svg}}
*[http://shareflare.net/download/0481.0d6d77be5c60e1741cc224be6/MemTest_4.0__Portable_.rar.html MemTest v4.0] (Portable)
*[http://www.memtest86.com/ Memtest86 homepage] (the original version)
*[http://www.memtest86.com/ Memtest86 homepage] (the original version)
*[http://www.memtest.org/ Memtest86+ homepage] (based on Memtest86)
*[http://www.memtest.org/ Memtest86+ homepage] (based on Memtest86)

Revision as of 01:50, 5 February 2010

Memtest86
Memtest86+
Developer(s)Memtest86: Chris Brady
Memtest86+: Samuel Demeulemeester
Stable release
Memtest86: 3.5 January 3, 2009; 15 years ago (2009-01-03)
Memtest86+: 4.00 September 22, 2009; 14 years ago (2009-09-22)
Operating systemStandalone bootable programs
TypeUtility
LicenseGPL v2.0
WebsiteMemtest86: www.memtest86.com
Memtest86+: www.memtest.org

Memtest86 and Memtest86+ are open source memory test software designed to test and stress test an x86 architecture computer's random access memory (RAM) for errors. It tries to verify that the RAM will accept and correctly retain arbitrary patterns of data written to it, and that there are no errors which make different bits of memory interact, or in addressing memory.

Description

Memtest86 is designed to run as a stand-alone, self-contained program from a bootable floppy disk, CD-ROM, USB Drive, or from a suitable bootloader without an operating system present. This is advantageous because it is a quick and convenient way to start the program, and because any hardware problems would endanger the integrity of an operating system. Also, a truly comprehensive memory test program must take over the entire RAM space, and be as small as possible, in order to thoroughly test the whole memory. Memtest86's tests are comprehensive so it can find otherwise hidden problems on machines that appear to work normally. With many chipsets, Memtest86 allows counting of failures even in error-correcting ECC DRAM.

These programs work with old obsolete 80386 and 80486 computers and also the latest P4 and beyond chipsets. They are updated from time to time to support newer chips.

Running one complete pass of the program can take from a few minutes to over an hour, depending on the amount and speed of the memory ("pass" meaning the completion of all the selected tests). Some errors are so subtle that they don't occur on each pass; errors are more likely to be revealed after running each pass for extended periods, as the program runs continuously until the user reboots.

Starting from Memtest86 2.3 and Memtest86+ 1.60, the program can output a list of bad RAM regions in the format expected by the BadRAM patch[1] for the Linux kernel; using this information, a Linux system can reliably use a RAM module even if it has a few bad bits.

Traditionally, the programs were made available on the Internet as small downloadable image files, which could be written on any computer onto a floppy disk. Under Windows, the image comes with a small program for making the floppy disk. Under Linux, the standard dd utility command is used to make the floppy disk. [1] The floppy can then be booted directly on the test computer. This mode is becoming obsolete, as floppy disks become obsolete. The easiest way to access the programs now is as part of bootable LiveCDs; popular Linux distributions such as Knoppix and Ubuntu offer an option when the CD starts to run Memtest immediately. UBCD is a free downloadable image that can be burned onto CD, which contains a large set of utility programs, including versions of both Memtest86 and Memtest86+; this is the easiest way for a beginner to try both programs.

Memtest86 was developed by Chris Brady. After Memtest86 remained at v3.0 for two years, Memtest86+ was created by Samuel Demeulemeester to add support for newer CPUs and chipsets. Both are now (as of 2009) being actively worked on. The bootloading code was originally derived from Linux 1.2.1. Memtest86 is written in C and x86 assembly. The source code is released under the GNU General Public License (GPL). The current version of Memtest86 is v3.5, released on January 3, 2009 and v4.0 of Memtest86+, released on September 22, 2009. Both versions now support current dual- and quad-core-CPU's and the corresponding chipsets. The latest release of Memtest86+ supports Intel-based Macintosh computers.

How it works

This is how faulty memory looks like: 2 erroneous bits detected. We see not only which bits failed, but also which patterns made them fail.

Memtest86 writes a series of test patterns to every memory address, reads back the data written, and compares it for errors.

Many chipsets can report RAM speeds and timings via SPD (Serial Presence Detect) or EPP (Enhanced Performance Profiles), and some even support changing the expected memory speed. If the expected memory speed is overclocked, Memtest86 can test that memory performance is error-free with these faster settings.

Some versions are able to report the "PAT status" (PAT: enabled or PAT: disabled). This is a reference to Intel Performance acceleration technology; there may be BIOS settings which affect this aspect of memory timing.

Known problems

There are two versions (or "streams") of Memtest86. One is simply known as Memtest86 (current version 3.5) and the other is known as Memtest86+ (current version 4.0). They both have almost identical screen appearance. The 3.5 version is known to fail on some (or many, or most) computers with 4 GB of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The Memtest86+ 4.0 version does not exhibit this behavior. Also, there is a single-core and multi-core version of the Memtest86 3.5 version, and the multi-core version has been observed to not function on systems with AMD nor Intel Quad-core CPUs.

References