Каковы наилучшие возможные способы тестирования оперативной памяти (без 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 для проверки целостности, и она прекрасно работает:
* Обратите внимание, я только прочитал это поддерживает руку. Тем не менее, я не проверял на руке.
Существуют ли какие-либо инструменты, работающие под 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 без доступа к диску. Это измерение по существу указывает на пропускную способность процессора, кеша и памяти тестируемой системы.