Курилка

Memtest86 — автономная диагностика памяти

Memtest86 logo

Этот перевод был выполнен в мае 2005 года. Оригинал (сохранённая копия) и информация об изменениях были взяты здесь: http://www.memtest86.com. К переводу добавлена информация из файла README.txt, касающаяся установки и работы под Linux.

С тех пор многое изменилось, и Memtest86 — не исключение.


Memtest86 — автономная программа для очень тщательного тестирования памяти компьютеров с архитектурой на базе процессоров Intel и AMD (x86). Тесты памяти, встроенные в BIOS, являются лишь быстрой проверкой и пропускают многие сбойные места, которые выявляет Memtest86.

Memtest86 screen

Memtest86 распространяется на условиях GNU Public License (GPL). В дополнение к условиям GNU public licence (GPL) снимаются ограничения на использование в личных или коммерческих целях. Настоящим предоставляется разрешение на включение Memtest86 в сборники и выпуски программного обеспечения.


Загрузка файлов

Memtest86 3.2 (11 ноября 2004)

Улучшения в версии v3.2

ISO-образы для создания загрузочного CDROM с Memtest86

Memtest86 3.1a (11 марта 2004)

Версия 3.2 — предпочтительна. Релиз 3.1a предоставлен в качестве альтернативы.

ISO-образы для создания загрузочного CDROM с Memtest86

Установка под Linux

Memtest86 — автономная программа, которая может быть загружена либо из раздела диска, либо с дискеты.

Для компиляции Memtest86 нужно:

  1. Просмотреть Makefile и сделать необходимые настройки.
  2. Дать команду "make".

Будет создан файл с именем "memtest.bin", который является загрузочным образом. Этот файл можно записать на дискету или использовать lilo для загрузки этого образа из раздела диска.

Чтобы создать загрузочную дискету с Memtest86:

  1. Вставьте в дисковод чистую дискету, на которую не запрещено записывать.
  2. Из-под учётной записи root наберите "make install".

Для загрузки из раздела диска при помощи lilo:

  1. Скопируйте файл-образ в постоянное место (напр., /memtest).
  2. Добавьте ещё одну запись в конфигурационный файл lilo (обычно /etc/lilo.conf) для загрузки Memtest86. Указывать нужно только имя образа и метку.

    Пример записи lilo для загрузки Memtest86:

    image = /memtest
    label = memtest
    
  3. Как root наберите "lilo".

    В приглашении lilo наберите memtest для загрузки Memtest86.

Если у вас возникли проблемы с компиляцией, в дистрибутиве есть готовый образ (precomp.bin). Для создания загрузочного диска из готового образа сделайте следующее:

  1. Вставьте в дисковод чистую дискету, на которую не запрещено записывать.
  2. Наберите "make install".

Установка под Windows

Для установки из-под windows сначала загрузите двоичные файлы либо для создания загрузочной дискеты, либо ISO-образ (в zip-архиве) для создания загрузочного CDROM. После загрузки архивы нужно распаковать. Для распаковки щёлкните правой кнопкой мыши на файле и выберите в меню пункт «Распаковать все». Команда позволит указать каталог, куда нужно распаковать файлы. Для создания загрузочной дискеты перейдите в каталог с распакованными файлами и там щёлкните на иконке Install. После установки дискета в Windows будет выглядеть неформатированной.

Для создания загрузочного CDROM используйте ваше программное обеспечение для записи CD из распакованного образа.

Использование

Так как Memtest86 является автономной программой, для работы ей не нужна никакая операционная система. Она может быть использована на любом PC вне зависимости от операционной системы, если она вообще установлена. Образ теста может быть загружен либо с дискеты, либо при помощи LILO в Linux-системах. Любая система (Unix, Windows или DOS) может быть использована для создания загрузочной дискеты или CDROM.

Консоль последовательного порта

Для управления Memtest86 можно использовать PC, оборудованный последовательным портом. По умолчанию поддержка консоли последовательного порта не разрешена, так как она замедляет тестирование. Чтобы разрешить её, измените определение SERIAL_CONSOLE_DEFAULT в config.h с нуля на единицу. Скорость порта также можно установить в файле config.h при помощи определения SERIAL_BAUD_RATE. Другие настройки последовательного порта — без чётности, 8 бит данных, 1 стоповый бит. Через консоль последовательного порта доступны все возможности Memtest86. Однако иногда при использовании команд управления экран может искажаться.

Команды управления

Memtest86 имеет небольшое число команд. Они позволяют управлять кэшированием, режимом отображения ошибок, выбирать тесты и диапазон адресов для тестирования. Внизу экрана находится строка со справкой о доступных командах управления.

Команда  Описание

ESC      Завершает работу теста и производит горячую перезагрузку
         при помощи BIOS.

c        Выводит конфигурационное меню теста
           Команды меню:
             1) Cache mode (режим кэширования)
             2) Test selection (выбор типа теста)
             3) Address Range (диапазон адресов)
             4) Memory Sizing (определение размеров памяти)
             5) Error Summary (сводка об ошибках)
             6) Error Report Mode (режим вывода ошибок)
             7) ECC Mode (режим ECC)
             8) Restart (перезапуск)
             9) Adv. Options (расширенные настройки)

SP       Запрещает прокрутку сообщений об ошибках
           Примечание: Тестирование остановится, если прокрутка
           запрещена, а место на экране заполнено

CR       Разрешить прокрутку сообщений об ошибках

Определение размеров памяти

BIOS современных компьютеров часто резервирует некоторые разделы памяти для собственных нужд и для передачи информации операционной системе (напр., таблиц ACPI). Тестирование таких участков не менее важно тестирования остальной памяти. Для правильной работы нужно, чтобы память работала одинаково хорошо вне зависимости, как она используется. По этой причине Memtest86 разработан для тестирования как можно большего количества памяти.

Однако безопасное и надёжное определение доступной памяти представляется затруднительным. Версии Memtest86 до 2.9 зондировали адреса в поисках памяти. Это работает с подавляющим большинством материнских плат, но не является 100%-но надёжным. Иногда определение размеров памяти является некорректным, а иногда при зондировании пустых мест приводит к зависанию или аварийному завершению теста.

Начиная с версии 2.9, появились альтернативные способы определения размера памяти. По умолчанию тест пытается определить размер памяти из BIOS методом «e820». При этом BIOS предоставляет таблицу сегментов памяти и сообщает, для чего они будут использоваться. По умолчанию Memtest86 будет тестировать всю память, помеченную, как доступная и, кроме того, область, зарезервированную для таблиц ACPI. Это безопасно, потому что тест не использует таблицы ACPI, а спецификация «e820» утверждает, что эта память может быть использована после того, как таблицы скопированы.

При помощи команд управления доступны ещё два варианта. Первый (BIOS-All — весь BIOS) также использует метод «e820» для получения карты памяти. Но в этом случае тестируются все зарезервированные сегменты памяти, независимо от того, для чего они предназначены. Исключение составляют сегменты, которые начинаются выше 3 Гб. Проверки показали, что их небезопасно тестировать. Вариант BIOS-All более полный, но может быть нестабильным на некоторых материнских платах.

Третий вариант — традиционный метод «Probe» (зондирования). Это очень полный тест, но он не всегда безопасен. В большинстве случаев методы BIOS-All и Probe дают ту же карту памяти.

Для старых BIOS-ов, которые не поддерживают метод «e820», есть два дополнительных способа (e801 и e88) для получения информации о размере памяти от BIOS. Эти методы дают не таблицу памяти, а только размер доступной расширенной памяти. При использовании методов e801 и e88 вариант BIOS-All будет недоступен.

Поле MemMap на экране показывает, какой метод определения размера памяти использован. А поле RsvdMem — сколько памяти зарезервировано и не тестируется.

Информация об ошибках

Memtest может отображать сообщения об ошибках двумя способами. По умолчанию сообщается о каждой ошибке. Кроме этого Memtest может создавать шаблон для использования в BadRAM Linux. Эта прекрасная возможность позволяет Linux обходить страницы памяти с ошибками.

Более подробно о BadRAM см. http://home.zonnet.nl/vanrein/badram http://rick.vanrein.org/linux/badram/.

В режиме показа каждой ошибки выводится нижеследующее сообщение. Информация появляется только при различии в адресе или битовом шаблоне, который выявил сбой. Все значения — шестнадцатеричные.

Tst: Номер теста
Failing Address: Адрес сбойной памяти
Good: Ожидаемый шаблон
Bad: Испорченный шаблон
Err-Bits: Результат исключающего ИЛИ правильных и неправильных данных (он показывает положение сбойных битов)
Count: Число последовательных ошибок по тому же адресу и с теми же сбойными битами

В режиме шаблонов BadRAM строки выводятся в виде badram=F1,M1,F2,M2. В каждой паре F/M «F» представляет собой сбойный адрес, а соответствующее значение «M» — битовую маску для этого адреса. Эти шаблоны означают, что сбой произошёл по адресу, равному F во всех битах M, равных "1". Такой шаблон может сообщить о большем количестве ошибок, чем есть на самом деле, но, по крайней мере, ни одна ошибка не будет пропущена. Такие шаблоны были разработаны с целью отобразить информацию об постоянных ошибках, вызванных аппаратной структурой, в краткой форме.

Шаблоны BadRAM, «созданные» добавлением каждого адреса лучше, чем «сгенерированные» по списку всех ошибок. Количество пар ограничено пятью из практических соображений. Поэтому шаблоны, созданные вручную из списка в режиме отображения каждой ошибки, в отдельных случаях могут дать более хороший результат.

Локализация неисправностей памяти

Будьте готовы к тому, что в случае очень плохой памяти Memtest86 может сообщить не обо всех ошибках. Программа неявно тестирует процессор, кэши L1 и L2, а также материнскую плату. В данных условиях невозможно точно определить, что именно привело к ошибке. Однако большинство сбоев происходит из-за проблем с модулями памяти. Когда это не так, единственный способ — замена комплектующих, пока неисправность не будет устранена.

После того, как выявлена ошибка в памяти, определение сбойного SIMM или DIMM не является тривиальной. Из-за большого числа производителей материнских плат и возможных комбинаций слотов памяти очень трудно, если вообще возможно, определить в каком модуле памяти находится сбойное место. Однако можно произвести некоторые действия, которые помогут выявить сбойный модуль. Ниже приводятся четыре способа, которые можно использовать:

1. Удаление модулей
Это самый простой способ изолирования сбойных модулей, однако его можно использовать только, когда один или несколько модулей можно извлечь из системы. Извлекая модули по одному и проводя тестирование, можно найти плохой. Только не забывайте, с каким модулем тест прошёл, а с каким нет.
2. Перестановка модулей
Если модули из системы удалять нельзя, для поиска сбойного можно попробовать менять их местами. Этот способ можно использовать, если в системе три или более модулей. Меняйте местами по два за раз. Например, поменяйте местами модули из первого и второго слота. Если адрес ошибки или битовый шаблон изменятся, сбойный модуль — один из только что переставленных. Используя несколько перестановок, можно определить, какой именно.
3. Замена модулей
Если недоступны первые два способа, остаётся только выборочная замена модулей.
4. Предотвращение выделения памяти
Режим печати шаблонов BadRAM предназначен для создания параметров загрузки ядра Linux, которое скомпилировано с поддержкой BadRAM. Эта доводка позволяет Linux надёжно работать даже с плохой памятью. Более подробно о BadRAM для Linux см. http://home.zonnet.nl/vanrein/badram http://rick.vanrein.org/linux/badram/.

Иногда ошибки с памятью возникают из-за несовместимости компонентов. Модуль памяти может прекрасно работать в одной системе и не работать в другой. Это встречается не так часто и может привести в замешательство. В такой ситуации компоненты не обязательно неисправны, но при определённых комбинациях с другими могут вызвать ошибки.

Было несколько сообщений об ошибках во время 5 и 8 теста на системах Athlon. Часто память работает в другой системе или продавец настаивает, что она исправна. В таких случаях память не обязательно плохая, но не способна работать на скоростях Athlon-а. Иногда установка более консервативного времени регенерации позволит скорректировать ошибку. В других случаях остаётся только заменять память на более быструю. Не нужно, покупая микросхемы памяти, ожидать, что они будут работать с Athlon-ом! В случае тестов 5 и 8 ошибки могут проявиться даже с памятью известного производителя и качественной материнской платой. Эти ошибки объяснимы, и их можно исправить.

Меня часто спрашивают о достоверности сообщений об ошибках Memtest86. В большинстве случаев они обоснованы. На некоторых системах Memtest86 может ошибиться в определении размера памяти и пробовать тестировать несуществующую память. Это вызовет большое количество сообщений об ошибках в последовательных адресах и обычно много сбойных бит в ошибке. Если имеется относительно немного сообщений о сбойных адресах и один или два бита в ошибке, то можно быть уверенным, что в этом месте действительно ошибка. Сообщения о неустойчивых ошибках также достоверны. Часто производители памяти спрашивают, поддерживает ли Memtest86 их конкретную модель. Memtest86 написан для работы со всеми типами памяти и наборами микросхем. Знание конкретного типа необходимо только в случае поддержки ECC.

Все устойчивые ошибки памяти можно исправить. Возможно, что какая-то конкретная ошибка никогда не проявит себя при обычной работе. Но работа у границ памяти может привести к потере данных и даже повреждению диска. Даже если нет явного проявления проблемы, нельзя полагать, что это не сказывается на системе. Иногда неустойчивые ошибки могут быть причиной проблем, которые незаметны в течение длительного времени. Будьте уверены, вам придётся убедиться, что Мёрфи был прав, если знаете об ошибках памяти и игнорируете их.

Memtest86 не может диагностировать многие типы проблем самого PC. Например, дефектный процессор, из-за которого аварийно завершается Windows, скорее всего, точно так же приведёт к сбою и Memtest86.

Время выполнения

Время, необходимое для полного тестирования при помощи Memtest86, очень сильно зависит от частоты процессора, скорости работы памяти и её размера. Memtest86 работает бесконечно. Счётчик проходов увеличивается всякий раз, когда пройдены все выбранные тесты. Обычно достаточно одного прохода для того, чтобы выловить все ошибки за исключением самых скрытых. Однако для полной уверенности, когда возможны неустойчивые ошибки, рекомендуется тестирование в течение более длительного периода.

Подробности

Философия тестирования памяти

Существует много хороших подходов к тестированию памяти. Однако многие тесты просто записывают в память какие-то шаблоны без особой заботы или знания архитектуры памяти, или того, как лучше выявить ошибки. Это хорошо работает в случае с серьёзными проблемами памяти, но малополезно для нахождения неустойчивых ошибок. Тесты памяти, встроенные в BIOS, тут вообще бесполезны.

Микросхемы памяти состоят из большого массива близко расположенных ячеек памяти, по одной на каждый бит данных. Большинство неустойчивых ошибок вызвано взаимодействием между ячейками памяти. Часто запись в одну ячейку приводит к записи тех же данных в соседнюю. Правильный тест памяти учитывает эти условия. Поэтому идеальной стратегией тестирования памяти будет следующее:

  1. записать в ячейку ноль
  2. записать во все соседние ячейки единицы один или несколько раз
  3. проверить, содержит ли ноль первая ячейка

Вполне понятно, что такая стратегия требует точного знания о том, как ячейки памяти располагаются в микросхеме. Бесконечное число вариантов расположения ячеек в разных микросхемах разных производителей делает такую стратегию неприменимой. Однако есть алгоритмы тестирования, которые позволяют приблизиться к идеалу.

Алгоритмы тестирования Memtest86

Memtest86 использует два алгоритма, которые позволяют достаточно близко подойти к идеалу стратегии, описанному выше. Первый из них называется «скользящие инверсии» (moving inversions). Он работает следующим образом:

  1. Заполнить память шаблоном
  2. Начиная с самого младшего адреса
    1. проверить, изменился ли шаблон
    2. записать дополнение шаблона
    3. увеличить адрес
    повторять 2a – 2c
  3. Начиная с самого старшего адреса
    1. проверить, изменился ли шаблон
    2. записать дополнение шаблона
    3. уменьшить адрес
    повторять 3a – 3c

Такой алгоритм — хорошее приближение к идеальному тесту памяти, но имеет некоторые ограничения. На сегодняшний день большинство микросхем высокой плотности хранят данные группами от 4 до 16 бит. С такими микросхемами невозможно записать или прочитать один отдельно взятый бит. Это означает невозможность гарантировать, что все соседние ячейки протестированы на взаимное воздействие. В такой ситуации лучшее, что можно сделать — использовать такие шаблоны, которые гарантируют, что в соседние ячейки записаны все возможные комбинации единиц и нулей.

Можно заметить, что кэширование, буферизация и несинхронное исполнение будут мешать алгоритму скользящих инверсий и делать его менее эффективным. Кэш отключить можно, но буферизацию памяти в новых высокопроизводительных микросхемах запретить нельзя. С этой целью я создал другой алгоритм, который я назвал «По модулю X» (Modulo-X). На него не влияют ни кэширование, ни буферизация. Он работает так:

  1. Для стартовых смещений от 0 до 20
    1. записать шаблон по каждому 20-у адресу
    2. записать дополнение шаблона во все остальные места,
      повторить один или несколько раз
    3. проверить шаблон для каждого 20-го адреса

Этот алгоритм достигает примерно такого же уровня проверки на взаимное воздействие, как и скользящие инверсии, но на него не влияют кэширование и буферизация. Так как каждый проход записи (1a, 1b) и чтения (1c) производится по всей памяти, можно быть уверенным, что и буферы, и кэш между проходами будут сброшены. Шаг размером в 20 выбран отчасти произвольно. Больший шаг был бы более эффективным, но и требовал бы большего времени для работы. Выбор 20-и — обоснованный компромисс между скоростью и точностью.

Описания тестов

Для выявления ошибок Memtest86 выполняет серии пронумерованных групп тестов. Эти группы состоят из комбинации алгоритма, шаблона данных и настроек кэширования. Они упорядочены так, чтобы обеспечить как можно более быстрое обнаружение ошибок. Вот описания этих групп:

Тест 0 [Address test, walking ones, no cache (тестирование адресов, бегущая единица, без кэша)]
Тестирование всех адресуемых битов по всей памяти с использованием шаблона «бегущая единица». Ошибки, выявленные в этом тесте, не используются для создания шаблонов BadRAM.
Тест 1 [Address test, own address (тестирование адресов, свой адрес)]
По каждому адресу записывается значение самого адреса, затем проверяется. Теоретически, предыдущие тесты должны определить любые проблемы с адресацией. Этот тест может выявить проблемы, которые остались незамеченными раньше.
Тест 2 [Moving inversions, ones&zeros (скользящие инверсии, единицы и нули)]
Этот тест использует алгоритм скользящих инверсий с шаблонами из всех единиц и нулей. Кэширование разрешено, несмотря на то, что оно в некоторой степени мешает работе алгоритма. С включенным кэшем тест работает быстрее и позволит быстро найти все «твёрдые» и немного трудноуловимых ошибок. Этот тест предназначен только для быстрой проверки.
Тест 3 [Moving inversions, 8 bit pat (скользящие инверсии, 8-битный шаблон)]
То же самое, что и в предыдущем случае, но используется 8-битный шаблон из «бегущих» единиц и нулей. Этот тест лучше определяет трудноуловимые ошибки в «широком» диапазоне микросхем. Всего используется 20 шаблонов.
Тест 4 [Moving inversions, random pattern (скользящие инверсии, случайный шаблон)]
Тест 4 использует тот же алгоритм, что и тест 2, но шаблон данных является случайным числом и его дополнением. Этот тест особенно полезен в поиске ошибок, зависящих от данных. Всего используется 60 шаблонов. Последовательность случайных чисел различается при каждом проходе, поэтому несколько проходов увеличивают эффективность.
Тест 5 [Block move, 64 moves (перенос блока, 64 переноса)]
Этот тест нагружает память при помощи инструкций переноса блока (movsl) и основан на тесте burnBX, разработанном Robert Redelmeier. Память инициализируется шаблонами со сдвигом, которые инвертируются через каждые 8 байт. Затем блоки по 4Мб по кругу переносятся при помощи инструкции movsl. После переноса шаблоны данных проверяются. Так как проверка производится только переноса, невозможно сказать, где возникла ошибка. Сообщения приводятся для адресов, где был обнаружен испорченный шаблон. Так как перенос затрагивает сегменты памяти по 8Мб, сбойный адрес всегда будет меньше, чем в 8Мб от адреса в сообщении. Ошибки, выявленные в этом тесте, не используются для создания шаблонов BadRAM.
Тест 6 [Moving inversions, 32 bit pat (скользящие инверсии, 32-битный шаблон)]
Это вариант алгоритма скользящих инверсий, в котором шаблон данных сдвигается влево на один бит для каждого последующего адреса. Стартовый шаблон сдвигается влево для каждого нового прохода. Чтобы использовать все возможное шаблоны, достаточно 32 прохода. Этот тест очень эффективен для обнаружения ошибок, которые зависят от данных, но требует много времени.
Тест 7 [Random number sequence (последовательность случайных чисел)]
Этот тест записывает в память последовательность псевдослучайных чисел. Эталонная последовательность может быть воссоздана заданием того же начального числа перед генерацией. Начальный шаблон проверяется, затем дополняется, а при следующем проходе проверяется снова. В отличие от скользящих инверсий запись и чтение могут производиться только в прямом направлении.
Тест 8 [Modulo 20, ones&zeros (По модулю 20, единицы и нули)]
Применение алгоритма «По модулю X» позволяет обнаружить ошибки, которые не выявлены при помощи скользящих инверсий, которым мешает кэширование и буферизация. Как и в тесте 2, в качестве шаблона используются только нули и единицы.
Тест 9 [Bit fade test, 90 min, 2 patterns (тест на забывание битов, 90 мин., 2 шаблона)]
Тест на забывание битов инициализирует шаблоном всю память и бездействует 90 минут. Затем проверяется, изменились ли какие-либо биты. Используются шаблоны из единиц и нулей. На этот тест необходимо 3 часа. Тест на забывание битов не включен в обычную последовательность тестирования, и его необходимо запускать вручную через конфигурационное меню.

Техническая поддержка — контактная информация

Из-за растущей популярности Memtest86 (более 200 тыс. скачиваний в месяц) я завален вопросами, сообщениями о трудностях и предложениями об улучшении. У меня просто нет времени ответить на ЛЮБОЕ письмо по Memtest86. Сообщения об ошибках и предложения приветствуются, но ответа на них, скорее всего не будет.

Примечание: в теме любого письма должно присутствовать слово MEM86, иначе письмо, не дойдя до меня, будет автоматически удалено. Спасибо спаму и вирусам!

Проблемы/ошибки

Перед тем, как сообщить об ошибке, посмотрите раздел Известные проблемы, может быть там это уже об этом рассказано. Не забудьте указать номер версии и другую относящуюся к делу информацию.

Chris Brady, bugs@memtest86.com

На некоторых PC Memtest86 умирает, не сообщая о причинах. Без подробностей такую проблему не решить. Чтобы исправить придётся заниматься отладкой на вашем оборудовании. Сообщать о такой ошибке нет смысла, если у вас нет Linux-системы, и вы не захотите её отладить.

Улучшения

Если вы захотите предложить улучшение, проверьте перед отправкой письма, нет ли подобного в списке Дальнейшие планы. Все предложения будут рассмотрены, но не все реализованы. Если вы хотите внести дополнения в исходный код, то свяжитесь со мной, чтобы скоординировать действия.

Chris Brady, enhance@memtest86.com

Вопросы

К сожалению, у меня нет времени отвечать на вопросы или помогать в разрешении проблем. В качестве помощи используйте разделы Локализация неисправностей памяти и Известные проблемы. Там есть ответы на вопросы, на которые я могу ответить. Если их там нет, то, возможно, и я не смогу вам ничем помочь.

Пожертвования

Очень неохотно я обращаюсь с просьбой о пожертвовании. Я никогда не собирался извлекать из программы выгоду, мне было приятно, что она полезна. Однако требуется всё больше времени для её поддержки. Кроме того, я хотел бы возместить небольшие расходы на хостинг этого веб-сайта. Поэтому, если вы находите Memtest86 полезным и чувствуете склонность оказать небольшую помощь через PayPal, пожалуйста, окажите. В качестве получателя укажите «cbrady@memtest86.com».

Известные проблемы

Иногда во время загрузки с дискеты на экране появляются следующие строки:

X:8000
AX:0212
BX:8600
CX:0201
DX:0000

Так BIOS сообщает об ошибках чтения дискеты. Попробуйте её перезаписать. Если это не поможет, замените её.

Memtest86 не может диагностировать многие типы проблем самого PC. Например, дефектный процессор, из-за которого аварийно завершается Windows, скорее всего, точно так же приведёт к сбою и Memtest86.

Было несколько сообщений об ошибках во время 5 и 8 теста на системах Athlon. Часто память работает в другой системе или продавец настаивает, что она исправна. В таких случаях память не обязательно плохая, но не способна работать на скоростях Athlon-а. Иногда установка более консервативного времени регенерации позволит скорректировать ошибку. В других случаях остаётся только заменять память на более быструю. Не нужно, покупая микросхемы памяти, ожидать, что они будут работать с Athlon-ом! В случае тестов 5 и 8 ошибки могут проявиться даже с памятью известного производителя и качественной материнской платой. Эти ошибки объяснимы, и их можно исправить.

Memtest86 не поддерживает многопроцессорные системы. Он будет работать без проблем, но использовать при этом только один процессор.

Memtest86 поддерживает все типы памяти. На самом деле программа не только ничего не знает о типе памяти, но и не нуждается в этом. Memtest86 способен тестировать все типы и марки памяти. Это не проблема и не ошибка, но на эту тему было много вопросов.

Изменения в компиляторе и загрузчике послужили причиной возникновения проблем при компиляции и в работе Memtest86. На этот случай в поставку включен двоичный образ программы (precomp.bin).

Дальнейшие планы

Здесь представлен список улучшений, планируемых в будущих версиях Memtest86. Когда это произойдёт, если произойдёт вообще, неизвестно.

Change Log — изменения

Enhancements in v3.2 (11/Nov/2004)

Enhancements in v3.1a (11/Mar/2004)

Enhancements in v3.0 (22/May/2002) - Provided by Eric Biederman

Enhancements in v2.9 (29/Feb/2002)

Enhancements in v2.8 (18/Oct/2001)

Enhancements in v2.7 (12/Jul/2001)

Enhancements in v2.6 (25/May/2001)

Enhancements in v2.5 (13/Dec/00)

Enhancements in v2.4

Enhancements in v2.3

Enhancements in v2.2

Enhancements in v2.1

Enhancements in v2.0

Enhancements in v1.5

Enhancements in v1.4

Enhancements in v1.3

Благодарности

Memtest86 был разработан Chris Brady с помощью ресурсов и при содействии людей, перечисленных ниже.