Кремниевые пластины делают всего несколько производителей, режут и упаковывают их гораздо больше, а планки памяти делают столько разных контор, что мы можем долго удивлять друг друга их названиями в комментариях. Память редко выходит из строя и бракованная встречается редко, вот и стали чаще оперативку распаивать на материнских платах. Производителям так дешевле и устройство получается более одноразовым. В таких условиях полезно иметь возможность определить, что именно память работает плохо.
Утилита Memtest86 развивается давно и почти непрерывно. После того, как в 2013 проект был куплен компанией PassMark (Австралия), код был закрыт и возникла платная версия PRO. Потом у утилиты появилась подпись от Microsoft для Secure boot и красивый графический интерфейс с поддержкой мыши и пользовательскими опциями. Есть поддержка других языков включая русский, а Руководство Пользователя имеет 101 страницу.
В 2004 году, когда развитие Memtest86 было на паузе, появился форк под названием Memtest86+. Подходы к проверке памяти те же и тесты такие же. Но разработка форка остановилась на версии 5.31 для Legacy BIOS. Через какое-то время уже от него возник форк PCMemTest и развитие продолжилось другим разработчиком. А недавно, в октябре 2022, они объединили свои усилия и в рамках проекта Memtest86+ выпустили бету 6.0.
Почти весь код был переписан заново, отброшены старые подходы и поддержка Legacy, теперь только UEFI, но по-прежнему простейший интерфейс. Сообщество с теплотой встретило возобновление разработки. Код открыт, лицензия GPL-2.0 - везде были позитивные комментарии. Во всех основных ветках Linux (arch, debian, fedora, gentoo) оперативно появились пакеты, состоящие из Memtest86+ и скрипта, добавляющего его в меню grub. Это удобно, потому что с тех пор утилита уже трижды обновилась и сейчас текущая версия 6.20.
А утилиту можно запускать и с загрузочной флешки, в частности с Ventoy. Скачайте с сайта архив с бинарниками, извлеките оттуда memtest64.efi, поместите на флешку и выбирайте его после загрузки. Вариант memtest64.bin в архиве - это, скорее всего, последняя версия 5.31 для Legacy, но я не проверял.
Memtest86 тоже можно запускать с Ventoy. Скачайте архив, извлеките оттуда memtest86-usb.img и поместите на флешку. Сразу бросается в глаза большой размер, а не всё там нужно. Пока Ventoy раскроет все образы, пока найдёт нужный BOOTX64.efi и запустит - стартует долго. Можно извлечь из образа как из архива другой образ, меньшего размера - EFI System Partition.img и его поместить на флешку, стартовать будет быстрее. Но и в нём много лишнего. Можно извлечь из этого образа папку BOOT и только её поместить на флешку. Даже в BOOT файлы BOOTAA64.efi и BOOTIA32.efi лишние. Теперь стартовать будет быстро, ведь не надо раскрывать образы.
У меня есть десктоп с EFI (ранний UEFI), там не сохраняются скриншоты по F12, а при запуске из образа они сохраняются, причём прямо в образ, ведь его держит открытым Ventoy! Да, от реализации EFI прошивки зависит многое, например взаимодействие с USB клавиатурой, вот и нет реакции на нажатие F12.
Вдумчивые пользователи заметят, что раскрытие образов занимает память, которую планируется проверять. А перфекционисты скажут, что вообще grub (или другой менеджер) в памяти лишний, желательно запускать тест прямо из UEFI. Резонно, так давайте организуем это для Memtest86+.
Сначала укоротим имя файла с memtest64.efi до memtest.efi. Необходимость этого не проверял, просто избегаю проблем. Поместим его по пути /boot/efi/EFI/memtest/memtest.efi
Создадим в nvram загрузочную запись с названием Memtest и указанием на расположение файла:
sudo efibootmgr -c -L "Memtest" -l '\EFI\memtest\memtest.efi'
В Boot Menu BIOS появится строка Memtest для запуска проверки. Следить за обновлениями версий придётся самостоятельно.
Аналогично можно прописать и Memtest86, указав на его BOOTX64.efi. Для полноценной работы нужно поместить на EFI раздел всю папку BOOT (без двух лишних файлов). Скриншоты будут сохранятся по F12 на EFI раздел, а это не хорошо, придётся следить, сколько их накопилось. Вот почему разработчики рекомендуют загрузку с флешки, хотя при этом занимается больше памяти.
Платная версия предлагает получение и сохранение более детальных отчётов, сохранение конфигурации и кое-что по мелочи. Набор тестов тот же, но начат поиск подходов к работе с ECC. А ещё там другой набор шрифтов.
Пользоваться утилитами просто. Memetest86+ циклически повторяет свой набор тестов, показывая, сколько было сделано проходов. Один проход для 16Гб длится более 20 минут. Проверку можно завершить в любой момент нажав Esc. В процессе нужно смотреть на температуру. Когда она перестанет нарастать - установилось термодинамическое равновесие и скоро можно останавливать тест. Обычно достаточно 2-3 прохода.
В Memetest86 есть дополнительный Hammer test. Глобально, это непростая и интересная тема с названием rowhammer, а на сегодняшний день тест проверяет, уязвима ли DDR3. С ростом у неё рабочей частоты, было обнаружено явление, дающее шанс для применения эксплойта, но этим фактом сначала по незнанию, а потом по инерции пренебрегали в 2012-2013 годах. Ведущие производители чипов не сразу, но скорректировали процесс производства, так что текущий тест актуален, в основном, для продукции, выпущенной в указанный период "слабыми" именами. При производстве DDR4 уже известные проблемы были, во многом, учтены, но картина стала сложнее, как для создания теста, так и эксплойта. Тест не длительный, поэтому один проход всего набора тоже длится чуть более 20 минут, но предлагается сделать 4 прохода.
Разработчики дистрибутивов с собственными репозиториями отслеживают события в мире софта по-разному, а мне интересно, как это делают наши.
В Calculate быстро отреагировали на возвращение утилиты - сразу появилась.
В ALT недавно добавили её в Сизиф и в свежих установочных образах starterkits она уже есть.
В ROSA нашлась только версия 6.0, а в описании сказано, что она для i386. Запустил и проверил 16Гб за такое же время, как и версией 6.2. Скорее всего у них ошибка в описании.
В RED OS с радостью увидел пакет с версией 6.2, но его установка - это лишь загрузка двух файлов в /usr/lib64/memtest86+/ и всё, т.е. сходу утилитой не воспользоваться.
В Astra Linux поиском memtest ничего не нашлось.
Спасибо всем за внимание. Удивите в комментариях производителями оперативки.
Комментарии
10:46
12:04
Сейчас в связи с повальным строительством заводов и развитием оной промышленности мб что-то и поменялось, особенно в Китае.
П.С. У меня самого, кстати, чипы на китайской Няня (но наклейка тоже известная на упаковке)
12:16
12:30
Видимо смысл снова есть.
P. S.
major-on-major означает модули топового производителя чипов собственного производства: Samsung Original, Crucial (розничная торговая марка микрона) и т. д.
major-on-third означает чипы топового производителя на модулях сторонней сборки: Кингстон, Патриот, Трансценд, Адата на чипах hynix или samsung, например.
P.P.S.
сейчас купить чужие модули на стороне, прописать им в SPD собственную марку и наклеить соответсвующие наклейки не составляет вообще никакого труда. и недорого.
12:43
15:43
16:09
11:48
14:00
08:59
Micron, если не ошибаюсь, один из самых "старых" производителей памяти, индийская транснациональная контора. У меня в бучке стоит.
20:56
Вместе с SKHynix и Samsung втроём они покрывают ~ 70-80% рынка чипов.
Тем интереснее существование других контор.
Например на m есть memxpro, mmlse и mushkin.