Назад | Перейти на главную страницу

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

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

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

Есть ли вообще какие-то специальные тесты без ECC?

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

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

На данный момент :

Нашел такую ​​раздачу: http://www.stresslinux.org/sl/

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

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

Вот как я иногда тестирую оперативную память: сначала смонтируйте два 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/

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

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

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

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

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

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

Есть ли вообще какие-то специальные тесты без ECC?

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

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

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

Если к busybox прилагается установщик rpm, возможно, вы сможете развернуть один из пакетов arm rpms из дистрибутива 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

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

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

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

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