Linux memtest что это
Based on the well-known original memtest86 written by Chris Brady, memtest86+ is a port by some members of the x86-secret team, now working at www.canardpc.com. Our goal is to provide an up-to-date and completly reliable version of this software tool aimed at memory failures detection. Memtest86+ was, is and will always be a free, open-source software.
The original Memtest86 is now handled by PassMark® Software Pty Ltd.
Memtest86+ is released under the terms of the Gnu Public License (GPL). No restrictions for use, private or commercial exist other than the ones mentioned in the Gnu Public License (GPL). Texts about the original version was taken from the original website and written by Chris Brady.
PS : A newsletter for memtest86+ updates is available / Donation for Memtest86+ welcome. Please support free GPL software .
The first version of Memtest86+ was released on early 2004, based on memtest86 v3.0 that was not updated since mid-2002. Our main challenge was to provide an up-to-date version of this useful tool, as reliable than the original. Our work started when we got the first AMD64 system. Unfortunatly, the original memtest v3.0 didn’t run at all. After looking at the source code, we fixed the bug.After some days, I saw lot of other things like chipsets or CPU that were not correctly detected or not detected at all. As I’m the chief-editor of a french hardware website (www.x86-secret.com now integrated into www.canardpc.com), I have access to lot of recent hardware and I can test and debug on quite all available motherboards on the market. After adding detection for all current CPUs, I’ve added detection for all current chipsets (SiS, VIA, nVidia, Intel) and ECC Polling for AMD64, i875P and E7205. Then, I decided to display some useful settings for the most popular chipsets. For exemple, on i865PE/i875P series, memtest86+ will now display FSB & Memory frequency, PAT status, memory timings, ECC status and the number of memory channels. Next version will perhaps contain several enhancements and bug-fixes.
Here is all the latest change logs for memtest86+ :
After a long hiatus without updates and following numerous requests, I’ve started compiling many codes branches to release public builds again! Here is Memtest86+ 5.31b, with many bug fixes in the core functions. This build is not ready for production yet, because it lacks some feedbacks from beta-testers. Additional features and updated detection code will follow soon, as soon I have access to my lab with all the reference test platforms. It’s currently inaccessible due to the COVID19 lockdown.
If you find a bug or regression in this build, please send your feedback to memtest (-A-) memtest.org. Thank you!
Enhancements in v5.01 :
- Added support for up to 2 TB of RAM on X64 CPUs
- Added experimental SMT support up to 32 cores (Press F2 to enable at startup)
- Added complete detection for memory controllers
- Added Motherboard Manufacturer & Model reporting
- Added CPU temperature reporting
- Added enhanced Fail Safe Mode (Press F1 at startup)
- Added support for Intel «Sandy Bridge-E» CPUs
- Added support for Intel «Ivy Bridge» CPUs
- Added preliminary support for Intel «Haswell» CPUs (Core 4th Gen)
- Added preliminary support for Intel «Haswell-ULT» CPUs
- Added support for AMD «Kabini» (K16) CPUs
- Added support for AMD «Bulldozer» CPUs
- Added support for AMD «Trinity» CPUs
- Added support for AMD E-/C-/G-/Z- «Bobcat» CPUs
- Added support for Intel Atom «Pineview» CPUs
- Added support for Intel Atom «Cedar Trail» CPUs
- Added SPD detection on most AMD Chipsets
- Enforced Coreboot support
- Optimized run time for faster memory error detection
- Rewriten lots of memory timings detection cod
- Corrected bugs, bugs and more bugs (some could remain)
Enhancements in v4.20 :
- Added failsafe mode (press F1 at startup)
- Added support for Intel «Sandy Bridge» CPU
- Added support for AMD «fusion» CPU
- Corrected some memory brands not detected properly t
- Various bug fixes
Enhancements in v4.10 :
- Added support for Core i7 Extreme CPU (32nm)
- Added support for Core i5/i3 (32 nm)
- Added support for Pentium Gxxxx (32 mn)
- Added support for Westmere-based Xeon t
- Added preliminary support for Intel SNB A0-step
- Added support for AMD 6-cores CPU
- Added detection for Intel 3200/3210
- New installer for USB Key
- Corrected a crash at startup
- Many others bug fixes
Enhancements in v4.00 :
- Major Architectural changes
- First pass twice faster (reduced iterations)
- Detect DDR2/3 brands and part numbers on Intel DDR2/3 chipsets
- Added detection for Intel «Clarkdale/Gulftown» CPU t
- Added detection for AMD «Magny-Cours» CPU
- Added detection for Intel XMP Memory
- Added for CPU w/ 0.5/1.5/3/6/12/16/18/24MB L3
- Added «clean» DMI detection for DDR3/FBDIMM2
- Corrected detection for Intel «Lynnfield» CPU
- Corrected detection for AMD 45nm K10 CPU
- Solved crash with AMD Geode LX
- Complies with SMBIOS 2.6.1 specs t
- Fixed compilation issues with gcc 4.2+
- Many others bug fixes
PS : Memtest86+ «3.00» was skipped and renamed 4.00 in order to avoid confusion with the original Memtest.
Enhancements in v2.11 :
- Added support for Intel Core i5 (Lynnfield) CPU
- Added support for Intel P55 Southbridge
- Added support for Intel PM45/GM45/GM47 Mobile chipset
- Added support for Intel GL40/GS45 Mobile chipse t
- Corrected DDR2/DDR3 detection on Intel x35/x45
- Corrected detection on some Core i7 CPU
- Fixed a bug with some AMI BIOS (freeze at startup)
- Various bug fixes
Enhancements in v2.10 :
- Added support for Intel Core i7 (Nehalem) CU
- Added support for Intel Atom Processors
- Added support for Intel G41/G43/G45 Chipsets
- Added support for Intel P43/P45 Chipsets
- Added support for Intel US15W (Poulsbo) Chipset
- Added support for Intel EP80579 (Tolapai) SoC CPU
- Added support for ICH10 Southbridge (SPD/DMI)
- Added detection for Intel 5000X
- Now fully aware of CPU w/ L3 cache (Core i7 & K10)
- Added workaround for DDR3 DMI detection
- Fixed Intel 5000Z chipset detection
- Fixed Memory Frequency on AMD K10
- Fixed cache detection on C7/Isaiah CPU
- Fix Memtest86+ not recognized as Linux Kernel
Enhancements in v2.01 :
- Added support for i945GM/PM/GME & i946PL/GZ
- Added support for iGM965/iGL960/iPM965/iGME965/iGLE960
- Added detection for SiS 649/656/671/672
- Added detection for i430MX/i430TX
- Added an optional beep mode (pass completed w/o error)
- Pass duration 20% reduced
- Removed the blinking cursor
- Reverted Test #0 to cached
- Solved a major bug in Memory Address Errors Reporting
- Patched for Intel-Powered Mac
- Corrected Intel 3-Series (P35/X38) chipset init
- Corrected a bug with SPD Display and ESB6300
- Correct a detection bug on P965/G965 C-Stepping
- Solved a incoherency with pass progress indicator
- Patched Makefile to compile on x86_64
- Bootable Memtest86+ ISO more compatible
Enhancements in v2.00 :
- Major Architectures changes
- Modulo test now use random pattern for better accuracy
- Added Advanced DMI Errors Reporting Mode
- Added support for bus ratio changes on Intel Core CPU
- Added support for non-integer bus ratio on latest Intel CPU
- Added SPD Data Display for all Intel Chipsets (more to come)
- Added serial support as a linux boot parameter (Thanks to Michal S.)
- Added preliminary support for VIA CN Isaiah CPU
- Added preliminary support for Intel Nehalem
- Added support for VIA C7/C7-D/C7-M/Eden on Esther Core
- Added support for AMD K10 (Phenom) CPU w/ timings detection
- Added support for Intel Pentium E w/ 1 MB L2 Cache
- Added support for Intel Core 2 45nm (Penryn)
- Added support for FSB1333/FSB1600 Intel CPU
- Added support for Intel 5400A/5400B w/ timings detection
- Added support for Intel Q35/P35/G33/Q33 w/ timings detection
- Added support for Intel X38/X48 w/ timings detection
- Added preliminary support for Intel 5000P/V/Z
- Removed on-fly memory timings change (unstable)
- Numerous (really) bug fixes
Some screenshots of memtest86+ on third recent platforms (i865/i875 — nForce2 — AMD64) :
Memtest86+ V1.00 on i875P
Источник
Тестируем память с помощью Memtest86+ и VirtualBox
По роду деятельности приходится иметь дело с железом, с большим количеством компьютеров разной конфигурации, и, в частности, заниматься их тестированием. Естественно, хочется чтобы этот процесс был автоматизирован на сколько возможно. Для этих целей я использую бездисковую загрузку линукс через PXE, на котором подготовлены к автозапуску соответствующие скрипты с разными тестами, демоны следят за состоянием системы, а мониторинг на сервере показывает результаты и ругается, если что-то не так. В общем-то, всем можно быть довольным, но процесс проверки оперативной памяти никогда мне не нравился. Нативный для линукса memtester, субъктивно, работает слишком долго, прежде чем что-то найдет, да и находит далеко не всегда. Собрать ядро или поиграться с архивами — неплохой способ проверить систему на стабильность, но в глюках не всегда бывает виновата память. А самым действенным способом, в конечном счете, является старый добрый Memtest86. Но с ним необходимо следить за каждым компьютером по отдельности, теряется весь процесс автоматизации, а когда компьютеров слишком много, то начинает поджимать и время. К сожалению, обделен всякими хитрыми kvm’ами.
Размышляя над этим, я обратил свой взгляд на виртуализацию. Почему бы не попробовать? Хотя бы just for lulz. Память ведь используется таже самая.
Для этих целей в VirtualBox создаем виртуальную машину самой простой конфигурации: без сети, без жестких дисков, только CD-ROM куда подключается образ с MemTest. Создаем с помощью GUI или в консоли:
Подключаем к нашей машине загрузочный образ с Memtest. Я использовал бету пятой версии, скачать можно с официального форума.
Перед самым запуском вычищаем кеш линукса из памяти:
Решаем сколько свободной памяти отдадим под проверку, а сколько оставим под нужды операционной системы:
Если памяти оставить слишком мало, линукс начинает вести себя нестабильно, тем более бездисковая система, где нет свопа.
Пятая версия мемтеста поддерживает многоядерность, воспользуемся этим и отдадим под тест сколько не жалко:
Вносим соответствующие изменения в машину:
И запускаем в фоне в консольном режиме:
Выключить виртуальную машину можно командой:
За состоянием теста следим с помощью отладчика VirtualBox:
Пример вывода в терминал:
Теперь достаточно распарсить вывод в терминал любым удобным способом, чтобы узнать время, количество проходов, найденные ошибки, и другую интересную информацию. И соответственно написать под это дело управляющие скрипты, ради чего все и задумывалось.
Например, у меня при наличии ошибки в лог пишется «снимок» экрана, а на сервер отправляется соответствующее предупреждение:
Я запустил это дело тестироваться на нескольких компьютерах с не самой качественной памятью, и результат не заставил себя долго ждать:
Для подтверждения, перезапускаю Memtest в нормальном режиме:
Способ на удивление работает. Поэтому использую его для себя наравне с другими. Таким образом получилось выявить уже много планок памяти с ошибками.
Плюсы:
- Это старый добрый Memtest с радующим глаз интерфейсом.
- Возможность полной автоматизации его работы.
- Имеем соответсвующую эффективность.
Есть конечно и минусы:
- Память не тестируется полностью, а только ее часть.
- Этот способ сам по себе может привести к нестабильной работе системы. Редко, но бывает, к сожалению.
Надеюсь, кто-то найдет статью полезной. Ну, или по крайней мере улыбнется.
Источник
Ubuntu — оперативная память: проверка, тип, объем
Оперативная память (ОЗУ — оперативное запоминающее устройство или RAM — Random Access Memory ) — это та память, в которой хранятся исполняемые процессором программы — машинный код, файлы и любые данные для оперативной работы с ними, она энергозависима, то есть очищается при перезапуске или выключении ПК. При сохранении файла, после оперативной работы с ним, происходит его запись в ПЗУ — постоянное запоминающее устройство — жесткий диск или любой другой энергонезависимый накопитель.
От объема «оперативки» зависит количество программ или же, например, вкладок браузера, которые могут быть запущены одновременно в системе. Что интересно: при переходе компьютера в режим сна операционная система записывает весь массив данных, содержащихся в ОЗУ, в полном объеме (дамп) на жесткий диск, а после пробуждения эти данные возвращаются в «оперативку». Именно поэтому после выхода из режима сна мы получаем рабочее окружение с уже запущенными программами, которые были активны перед переходом в режим гибернации (сна).
Исходя из вышенаписанного следует вывод, что ОЗУ — важная часть компьютера, к информации о которой необходимо иметь доступ любому пользователю системы Ubuntu. Поэтому сегодня мы рассмотрим такие вопросы, как:
- Сколько доступно свободной оперативной памяти и каков ее полный объем
- Какой тип у установленной оперативной памяти
- Есть ли ошибки в оперативной памяти
Команды в статье приведены для исполнения их в терминале Ubuntu — Как открыть терминал
Объем оперативной памяти
Для того, чтобы получить информацию об общем объеме и количестве занятой/доступной памяти мы воспользуемся командой free с флагом -h поскольку при обычном выводе данной команды вывод объема производится в килобайтах, что не совсем удобочитаемо для пользователя. Флаг -h позволит отображать количественные единицы объема в мегабайтах и гигабайтах.
Исполним в терминале команду:
Вывод команды free -h в терминале Ubuntu
Как мы можем видеть — вывод команды дополнен, помимо данных об объемах ОЗУ, еще и информацией о файле подкачки. При необходимости данную команду можно использовать и для мониторинга за количеством оперативной памяти в реальном времени. Для этого нужно добавить к флагу -h еще один: -s [секунды]. Как аргумент к данному флагу указывается время в секундах, через которое следует обновлять информацию о состоянии памяти:
Вывод будет следующим:
Мониторинг ОЗУ через терминал
Обновленные данные в нашем примере будут выводиться каждые три секунды. Для того, чтобы закончить вывод данных в терминал следует нажать сочетание клавиш CTRL+C.
В моем примере наименования всех строк и столбцов самоочевидны, поскольку указаны на русском языке. Но при работе на удаленном сервере вывод команды, скорее всего, будет представлен на английском, поэтому я приведу краткую расшифровку подписей значений:
- Mem – физическая память
- Swap – виртуальная память
- total – общий объем ОЗУ
- used – кол-во занятой памяти
- free – свободная память
- shared – разделяемая память*
- buff/cache – зарезервированное системой место
*Разделяемая память (англ. Shared memory) является самым быстрым средством обмена данными между процессами. После создания разделяемого сегмента памяти любой из пользовательских процессов может подсоединить его к своему собственному виртуальному пространству и работать с ним, как с обычным сегментом памяти. (цитата из Wikipedia)
Тип и частота оперативной памяти
Необходимость узнать тип установленной оперативной памяти может возникнуть при покупке дополнительных модулей. Ведь различные типы модулей несовместимы между собой физически. То есть, модуль памяти DDR2 невозможно установить в разъем, например, для DDR3.
Частота ОЗУ означает — сколько циклов чтения/записи память способна выполнить за одну секунду. Обычно максимальная частота, на которой способна работать оперативная память, определяется процессором или чипсетом материнской платы.
Для того, чтобы узнать тип и частоту оперативной памяти используется следующая команда:
Вывод команды sudo dmidecode —type memory
В выводе команды присутствует информация о каждом установленном модуле памяти в отдельности. Для получения необходимой нам информации найдем в нем следующие строки:
В списке вывода это будет выглядеть следующим образом:
Handle 0x0043, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0041
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: ChannelA-DIMM1
Bank Locator: BANK 1
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MT/s
Manufacturer: Kingston
Serial Number: 16334813
Asset Tag: 9876543210
Part Number: KHX2133C13D4/8GX
Rank: 2
Configured Clock Speed: 2133 MT/s
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: 1.2 V
Т.к. на ПК невозможно установить модули памяти с разным типом, а их частота обычно (при грамотной сборке ПК) совпадает, то, скорее всего, достаточно будет посмотреть информацию для любого из модулей в выводе команды.
Значение «Type» в данном выводе указывает на тип оперативной памяти (у меня в примере — DDR4), а «Speed» — на частоту (в моем примере 2133 мегатранзакции в секунду).
Для сокращения результатов вывода можно пропустить из через утилиту grep. Так, для поиска информации о типе ОЗУ можно выполнить команду:
Компактный вывод dmidecode
Как узнать количество планок оперативной памяти
Для того, чтобы узнать кол-во планок можно воспользоваться следующей командой:
Если lshw отсутствует в системе, то его можно установить командой:
Проверка оперативной памяти на наличие ошибок
Иногда можно столкнуться с поломкой полупроводников оперативной памяти. Обычно это выражается в нестабильной работе программ, зависаниях и т.п. Такие поломки способны повлиять на производительность оперативной памяти. Такую поломку устранить не получится, можно только заменить модуль на новый. Поэтому при зависаниях ПК или отдельных программ необходимо убедиться в целостности ОЗУ, чтобы не потратить деньги впустую, приобретя новые модули памяти взамен рабочим.
Для проверки оперативной памяти можно использовать программу MemTester. Чтобы ее установить нужно выполнить следующую команду в терминале:
Для примера запустим проверку блока ОЗУ, размером в 100 мегабайт состоящую из двух циклов:
Результат работы memtester
Данная проверка проводится для блока ОЗУ размером в 100МБ (указанных нами) два раза. Как видим у меня все в порядке. При использовании данной утилиты важно помнить, что нельзя указывать размер блока проверки больше, чем доступно свободной оперативной памяти на момент начала проверки.
Для более тщательного тестирования памяти можно воспользоваться утилитой memtest86+ из меню загрузчика Grub. Для того, чтобы попасть в меню Grub при запуске ПК следует держать нажатой клавишу Shift или, в некоторых случаях, ESC. Если загрузилось не меню, а консоль, то нужно выполнить команду normal.
Меню загрузчика Grub
После выбора пункта меню «Memory Test (memtest86+)» начнется проверка памяти:
Проверка памяти memtest86+
По окончанию первого цикла проверки снизу экрана будет отображена информация с результатами проверки:
Источник