Каковы наилучшие возможные способы тестирования оперативной памяти (без ECC) под linux / arm?

Я хочу проверить целостность и глобальные характеристики чипов памяти без ECC на специальной плате

Существуют ли какие-либо инструменты, работающие под Linux, чтобы я мог одновременно контролировать систему и глобальную температуру?

Существуют ли какие-либо специальные тесты без ECC, которые необходимо выполнить в целом?

РЕДАКТИРОВАТЬ 1:

Я уже знаю, как контролировать температуру (я использую специальную платформу /sys/devices/platform/......../temp1_input).

Теперь:

  • wazoox: это работает, но я должен написать свои собственные тесты
  • Джейсон Хантли:
    • ramspeed: не работает на руке
    • Тест потока: это работает и очень быстро, поэтому я посмотрю, если это точно и полно
    • memtest: попробую позже, так как не запускается напрямую из linux
    • стресс для федоры: я попробую позже, для меня слишком проблематично установить федору сейчас

Я нашел этот дистрибутив: http://www.stresslinux.org/sl/

Я продолжу проверять инструменты, которые работают непосредственно под linux без слишком больших зависимостей, после того, как я, возможно, попробую такие решения, как StressLinux, Memtest, Stress для Fedora.

Спасибо за ответы, я буду продолжать расследование

5 ответов

Вот как я иногда тестирую RAM: сначала монтируем два tmpfs (по умолчанию tmpfs составляет половину оперативной памяти):

# mount -t tmpfs /mnt/test1 /mnt/test1
# mount -t tmpfs /mnt/test2 /mnt/test2

Проверьте свободную память и свободное место:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     234760      17316          0      75856      62328
-/+ buffers/cache:      96576     155500
Swap:      1048820        332    1048488

# df -h -t tmpfs
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
tmpfs                 124M     0  124M   0% /lib/init/rw
udev                   10M  104K  9,9M   2% /dev
tmpfs                 124M     0  124M   0% /dev/shm
/mnt/test1            124M     0  124M   0% /mnt/test1
/mnt/test2            124M     0  124M   0% /mnt/test2

Теперь заполните tmpfs с помощью dd:

# dd if=/dev/zero of=/mnt/test1/test bs=1M 
dd: écriture de `/mnt/test1/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 1,81943 seconde, 70,8 MB/s

# dd if=/dev/zero of=/mnt/test2/test bs=1M 
dd: écriture de `/mnt/test2/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 5,78563 seconde, 22,3 MB/s

Вы можете проверить, что ваша память на самом деле достаточно заполнена:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     248824       3252          0       1156     226380
-/+ buffers/cache:      21288     230788
Swap:      1048820      50020     998800

Теперь вы можете запускать различные тесты, например, проверять идентичность обоих временных файлов, напрямую или запускать md5sum, sha1sum и т. Д.:

# time cmp /mnt/test1/test /mnt/test2/test 

real    0m4.328s
user    0m0.041s
sys     0m1.117s

Про мониторинг температуры я знаю только о lm-сенсорах. Я не знаю, управляет ли он вашим конкретным оборудованием, но вы все равно можете попробовать.

Каковы наилучшие возможные способы тестирования оперативной памяти (без ECC) под linux / arm?

RamSpeed ​​- единственный мультиплатформенный инструмент тестирования памяти, о котором я знаю. Вы можете скомпилировать его для arm, если это поддерживается:

http://alasir.com/software/ramspeed/, старая ссылка не работает, используйте:

https://github.com/cruvolo/ramspeed-smp

Если это не поддерживается, вы можете выполнить сравнение с помощью потока:

http://www.cs.virginia.edu/stream/ref.html

хотите протестировать целостность и глобальные характеристики чипов памяти без ECC на специальной плате

Здесь я неоднократно использовал memtest для проверки целостности, и она прекрасно работает:

http://www.memtest.org/

* Обратите внимание, я только прочитал это поддерживает руку. Тем не менее, я не проверял на руке.

Существуют ли какие-либо инструменты, работающие под Linux, чтобы я мог одновременно контролировать систему и глобальную температуру?

Если используемый вами дистрибутив поддерживает yum, вы можете легко установить lm_sensors:

ням установить lm_sensors

Вы также можете скачать и скомпилировать с: здесь http://www.lm-sensors.org/

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

Есть ли какие-либо специальные тесты без ECC, которые нужно сделать в целом?

memtest включает тесты для ECC и не-ECC

Я только что вспомнил одну последнюю вещь, которую ты мог попробовать. Получите fedora для архитектуры руки или оборотов в минуту. Вы можете запустить стресс-пакет, который проведет стресс-тестирование вашего процессора и памяти:

стресс-1.0.4-4.fc13.armv5tel.rpm

Если в комплект поставки busybox входит установщик rpm, возможно, вы сможете развернуть один из пакетов arm из дистрибутива fedora.

Запишите файл в существующий tmpfs, такой как /tmp, с dd, как предложено в wazoox, но ограничьте его размер до половины вашей свободной памяти.

Сначала выясните, сколько памяти доступно:

> free -h                                                                       
              total        used        free      shared  buff/cache  available 
Mem:            15G        3.0G         11G        540M        1.0G         11G 
Swap:            9G        1.2M          9G                                     

Затем запишите файл, в данном случае 4 ГБ, используя 4000 блоков по 1 МБ:

> dd if=/dev/zero of=/tmp/testfile bs=1M count=4000 
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB, 3.9 GiB) copied, 1.1395 s, 3.7 GB/s

Таким образом, вы избежите подкачки, и вам не нужно ничего монтировать.

Я использовал мем-тест u-boot, есть два теста (см. U-boot/common/cmd_mem.c):

Первый тест прост (запись, проверка), второй тест активируется #define CONFIG_SYS_ALT_MEMTEST 1 и добавить больше тестов,

позаботьтесь о передаче начального смещения (argv[1]) после пространства памяти u-boot, т.е. mtest 0x200000,

Ты можешь использовать hdparm Команда для проверки памяти:

hdparm -T /dev/sda

-T описание параметра:

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

Другие вопросы по тегам