Memtest86

Memtest86
Memtest86
Memtest86+
Screenshot of Memtest86+
A screenshot of Memtest86+
Developer(s) Memtest86: Chris Brady
Memtest86+: Samuel Demeulemeester
Stable release Memtest86: 4.0a August 20, 2011; 2 months ago (2011-08-20)
Memtest86+: 4.20 January 25, 2011; 9 months ago (2011-01-25)
Operating system Standalone bootable programs
Type Utility
License GPL v2.0
Website Memtest86: www.memtest86.com
Memtest86+: www.memtest.org

Memtest86 and Memtest86+ are open source memory test software programs designed to test and stress test an x86 architecture computer's random access memory (RAM) for errors. Each tries to verify that the RAM will accept and correctly retain arbitrary patterns of data written to it, and that there are no errors where different bits of memory interact, and there are no conflicts between memory addresses.

Contents

Description

There are two versions (or development streams) of Memtest86. The original is simply known as Memtest86[1]. The other, known as Memtest86+[2], is a development fork of the original Memtest86 (see history). They both have almost identical screen appearance.

These programs work with old obsolete 80386 and 80486 computers and also the latest, but now obsolete, P4 and beyond chipsets. They are updated from time to time to support newer chipsets.[3][4]

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 because the program must directly control the hardware being tested and leave as much of the RAM space as possible for examination. It is also a quick and convenient way to start the program, and avoids running a complex operating system/application which could be endangered by hardware with memory problems. (For example, a hard disk file system can be corrupted by writing erroneous data from damaged RAM.)

Memtest86's testing is very comprehensive[5] 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 (without special handling, error correcting memory circuits can mask problems with the underlying memory chips).

Running one complete pass of the program (executing all the selected tests one time) can take from a few minutes up to a few hours, depending on the amount and speed of memory installed, and the CPU speed. Some errors are so subtle that they don't occur on each pass; errors are more likely to be revealed after running many passes over an extended period. This is because some tests use slightly different data each pass,[6] and errors may appear after heat builds up from extended operation. Thus the program will run continuously until the user reboots.

Distribution

Traditionally, the programs were made available on the Internet as small downloadable diskette image files, and included a small Windows program to make the floppy disk. Under Linux, the standard dd utility command is used to make the floppy disk.[7][8] The floppy can then be booted directly on the test computer.

This mode has become obsolete as floppy disks have become obsolete, so distribution now includes a USB image and a bootable CD iso image which the user must burn to CDROM before using. The easiest way for a beginner to access the programs may be as part of a bootable LiveCD. Popular Linux distributions such as Knoppix and Ubuntu offer an option when the CD starts to run Memtest immediately (instead of booting Linux). Memtest86 and Memtest86+ are included in rescue sets of utilities, such as the Ultimate Boot CD which contains both.

Additionally, some high-end computer motherboards come with MemTest86 integrated into the BIOS. The user would simply have to press a certain key during boot-up and MemTest86 would run without a boot disk. (One example of this is the Biostar TPOWER i55 motherboard.)

History

Memtest86 was developed by Chris Brady. After Memtest86 remained at v3.0 (2002 release) for two years, the Memtest86+ fork was created by Samuel Demeulemeester to add support for newer CPUs and chipsets. As of 2009, both are being actively maintained.[9][10]

Memtest86 is written in C and x86 assembly. The source code is released under the GNU General Public License (GPL). The bootloading code was originally derived from Linux 1.2.1. Both versions now support current dual- and quad-core-CPUs and the corresponding chipsets. The latest release of Memtest86+ supports Intel-based Macintosh computers.

Starting from Memtest86 2.3[3] and Memtest86+ 1.60,[4] the program can output a list of bad RAM regions in the format expected by the BadRAM[11] patch for the Linux kernel; using this information, a Linux system can reliably use a RAM module even if it has a few bad bits.[12] Grub2 is able to supply this same information to an unpatched kernel,[13] negating the need for the BadRAM patch.

How it works

This is what 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 most memory address, reads back the data written, and compares it for errors.[14]

The default pass does 9 different tests, varying in access patterns and test data. A tenth test, bit fade, is selectable from the menu. It writes all memory with zeroes, then sleeps for 90 minutes before checking to see if bits have changed (perhaps because of refresh problems). This is repeated with all ones for a total time of 3 hours per pass.

Memory cache (such as cache on board the CPU chip) is not disabled. However, access patterns are designed to keep most cache organizations flushed so that memory accesses are actually seen to the RAM.

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 hardware is 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.

This information, if available to the program, can be displayed via a menu option.

Known problems

  • Memtest86 3.5 is known to fail usually on computers with 4 GB of installed memory. (The failure manifests as a spontaneous system reboot soon after the program starts running.)[citation needed]
  • The multi-core version of Memtest86 3.5 has been observed to not function on systems using AMD or Intel Quad-core CPUs.[citation needed]
  • Version 3.5a corrects a bug in 3.5 that prevented testing more than 4 GB of memory. Version 3.5a now works with up to 64 GB of memory.

References

  1. ^ Memtest86.com - Memory Diagnostic
  2. ^ Memtest86+ - Advanced Memory Diagnostic Tool
  3. ^ a b http://www.memtest86.com/change.html
  4. ^ a b http://www.memtest.org/#change
  5. ^ Memtest86 - Memory Diagnostic Page
  6. ^ Memtest86 - Memory Diagnostic Page
  7. ^ http://forum.canardpc.com/showthread.php?t=28864 Memtest86+ FAQ
  8. ^ In computing, dd is a common Unix program whose primary purpose is the low-level copying and conversion of raw data. According to the manual page for Version 7 Unix, it will "convert and copy a file". It is used to copy a specified number of bytes or blocks, performing on-the-fly byte order conversions, as well as more esoteric EBCDIC to ASCII conversions. It can also be used to copy regions of raw device files, for example backing up the boot sector of a hard disk, or to read fixed amounts of data from special files like /dev/zero or /dev/random.
  9. ^ Memtest86 - Memory Diagnostic Support Page
  10. ^ http://www.memtest.org/#history
  11. ^ BadRAM: Linux kernel support for broken RAM modules
  12. ^ BadRAM: Download area
  13. ^ GNU GRUB Manual 1.99
  14. ^ Memtest86 - Memory Diagnostic Page

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Memtest86+ — Memtest86 Memtest86+ Скриншот Memtest86+, запущенного под VMware Workstation 2007 …   Википедия

  • Memtest86 — Bildschirmfoto von Memtest86+ unter VMware Workstation Basisdaten Entwickler: Chris Brady Aktuelle  …   Deutsch Wikipedia

  • Memtest86 — est un logiciel conçu pour réaliser des tests exhaustifs de la mémoire informatique d un PC afin de détecter d éventuelles erreurs ou défectuosités. Description Ce logiciel a été conçu pour être exécuté à l aide d un système amorçable, tels qu… …   Wikipédia en Français

  • Memtest86+ — Infobox Software name = Memtest86 Memtest86+ caption = A screenshot of Memtest86+ developer = Memtest86: Chris Brady Memtest86+: Samuel Demeulemeester latest release version = Memtest86: 3.4a release date and age|2007|12|07 Memtest86+: 2.01… …   Wikipedia

  • Memtest86+ — Este artículo o sección se encuentra desactualizado. Es posible que la información suministrada aquí haya cambiado o sea insuficiente. Memtest86+ …   Wikipedia Español

  • Memtest86 — …   Википедия

  • Memtest — Memtest86 Bildschirmfoto von Memtest86+ unter VMware Workstation Basisdaten Entwickler: Chris Brady Aktuelle  …   Deutsch Wikipedia

  • Memtest 86 — Bildschirmfoto von Memtest86+ unter VMware Workstation Basisdaten Entwickler Chris Brady …   Deutsch Wikipedia

  • Программы теста производительности — Содержание 1 Всё в одном 2 Тест жёсткого диска 3 Тест памяти 4 Тест процессора // …   Википедия

  • E820 — is shorthand to refer to the facility by which the BIOS of x86 based computer systems reports the memory map to the operating system or boot loader.It is accessed via the int 15h call, by setting the AX register to value E820 in hexadecimal.It… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”