Как я могу протестировать RAM на повреждение данных в основанной на ARM системе?

Для настроек оболочки Вам не нужно export, по причине Вы даете. И лучше не использовать его, в случае, если некоторое другое приложение реагирует на ту же переменную, но не интерпретирует значение таким же образом. Я не знаю никакое другое приложение, которое использует HISTIGNORE, но проблема возникает с другими переменными. Например, PS1 не должен определенно быть экспортирован, так как различные оболочки используют эту переменную, но с различными escape-последовательностями.

20
30.05.2012, 15:37
2 ответа

Общее решение протестировать память состоит в том, чтобы записать определенный шаблон как 0xFFFFFFFF к Вашей памяти и читают его впоследствии и сравнивают результат. Вы можете и должны, конечно, изменить шаблон для обнаружения проблем. Некоторые решения как memtest86+ также генерируйте случайные шаблоны и измените направление, которое они используют для записи в память. Поскольку более подробная информация об используемых алгоритмах в memtest86 взглянула на их техническую страницу. Все решения, предоставленные в этом сообщении, используют в основном ту же базовую идею.

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

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

Если тестирование, обеспеченное mtest, недостаточно, можно, конечно, просто расширить uboot и интегрировать дополнительные функции тестирования памяти в uboot.

21
27.01.2020, 19:44
  • 1
    OK я получил memtester. Какой-либо другой тест я могу сделать? –  Ankur Agarwal 18.05.2012, 20:47
  • 2
    Какой-либо другой тест приближается, я мог попробовать? Я думаю о тестировании RAM от uboot. –  Ankur Agarwal 25.05.2012, 08:27
  • 3
    @abc хорошо, я добавил примечание о uboots mtest –  Ulrich Dangel 25.05.2012, 08:36
  • 4
    я начал использовать команды uboot и теперь я вижу, что память отображается, команда uboot застревает в середине bist > md.w 0x00000023 10 00000023: –  Ankur Agarwal 01.06.2012, 03:04
  • 5
    имеет поддержку двух различных mtest. Скомпилируйте с CONFIG_SYS_ALT_MEMTEST для более обширного тестирования памяти, чем значение по умолчанию. –  m__ 03.07.2013, 09:50

Das U -Boot, пожалуй, наиболее широко используемый загрузчик на платах ARM, и он включает в себя некоторые функции тестирования памяти.

Интересно, что его README предлагает альтернативный подход, который может быть более переносимым и/или более эффективным:

The best known test case to stress a system like that is to boot Linux with root file system mounted over NFS, and then build some larger software package natively (say, compile a Linux kernel on the system) - this will cause enough context switches, network traffic (and thus DMA transfers from the network controller), varying RAM use, etc. to trigger any weak spots in this area.

Пока вы собираете ядро ​​Linux, вас может заинтересовать параметр CONFIG_MEMTEST=y, который вызывает сборку встроенного -теста памяти. Раньше это было только для архитектуры x86, но я считаю, что последние версии поддерживают его и на других архитектурах, возможно, даже на ARM.

Инструмент memtester уже встроен и доступен в некоторых дистрибутивах Linux для различных архитектур, включая ARM.

Проект ядра -memtest также может вас заинтересовать.

Имейте в виду, что ни один инструмент не может протестировать память, из которой он работает (, поэтому программа в работающей ОС будет иметь значительные слепые зоны ), а базовые тесты чтения/записи не выявят все типы дефектов или ошибок. другая ошибка. Установите свои ожидания соответственно, и если у вас есть основания подозревать плохую память, подумайте о том, чтобы попробовать несколько разных инструментов тестирования.

1
16.08.2020, 22:48

Теги

Похожие вопросы