Які найкращі способи порівняння оперативної пам’яті (no-ECC) під Linux / arm?


19

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

Чи є якісь інструменти, які працюють під Linux, щоб я міг одночасно контролювати систему та глобальну температуру?

Чи потрібно взагалі робити якісь тести, які не стосуються ECC?

EDIT 1:

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

Зараз :

  • wazoox: працює, але я повинен кодувати власні тести
  • Джейсон Хантлі:
    • скачка: не працює на руку
    • Тест потоку: він працює і дуже швидкий, тому я подивлюся, чи він точний і повний
    • memtest: Я спробую пізніше, оскільки він не працює безпосередньо з Linux
    • стрес для Fedora: Я також спробую пізніше, мені занадто проблематично зараз встановлювати Fedora

Я знайшов цей розподіл: http://www.stresslinux.org/sl/

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

Дякую за відповіді, я продовжуватиму розслідування


Це допоможе, якщо ви надасте нам дистрибутив Linux, з яким ви працюєте. У вас працює серверний або настільний дистрибутив? Чи включає він XServer?
Джейсон Хантлі

Я використовую linux 3.0 з чистого металу з busbox, rootfs - на nfs, тому я компілюю інструменти з іншого хоста з компілятором arm cross. Немає XServer.
Moul

Відповіді:


13

Ось як я іноді тестую оперативної пам’яті: спочатку встановіть два 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-датчики. Я не знаю, чи він управляє вашим конкретним обладнанням, але ви, мабуть, могли б спробувати все-таки.


4
На цей орієнтир вплине кеш процесора, але це гарна ідея.
Мірча Вутковичі

2
Я не перевіряв себе, але Мірча, мабуть, має рацію: тож я б "відлунював 3> / proc / sys / vm / drop_caches", щоб звільнити сховища сторінок, стоматології та індекси, що це має зробити.
Мануель

Це кеші файлової системи, а не кеші процесора.
Mircea Vutcovici

1
+1 Цей ddметод (на старому AMD Athlon 64 3200+) дав мені результати, пропорційно пропорційні змінам тактової частоти пам'яті, і я вважаю, що це досить добре. Не впевнений, чому ви хочете засмітити всю системну пам'ять /dev/zero- моя система замерзла, коли я намагався це зробити.
Лумі

3
Я адаптував це у простому скрипті bash, який використовую для порівняння провайдерів VPS - bitbucket.org/snippets/danielsokolowski/G5oeA
Даніель Соколовський

7

Які найкращі способи порівняння оперативної пам’яті (no-ECC) під Linux / arm?

RamSpeed ​​- це єдиний інструмент, який мені відомо про багатоплатову пам'ять. Можливо, ви зможете скласти його для руки, якщо він підтримується:

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. Однак я не пройшов тестування на руці.

Чи є якісь інструменти, які працюють під Linux, щоб я міг одночасно контролювати систему та глобальну температуру?

Якщо дистрибутив, який ви використовуєте, підтримує yum, ви можете легко встановити lm_sensors:

yum встановити lm_sensors

Ви також можете завантажити та компілювати з: тут http://www.lm-sensors.org/

Однак я не впевнений, що це забезпечить температурні дані щодо вашої меморіалу. Ваша материнська плата також повинна мати датчики для зчитування температури пам’яті.

Чи потрібно взагалі робити якісь тести, які не стосуються ECC?

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

Я просто згадав одне останнє, що ти міг спробувати. Отримайте Fedora для архітектури зброї або оборотів в хвилину. Ви можете запустити стрес-пакет, який стрес-тестує ваш процесор і пам'ять:

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

Якщо у завантаженому пакеті встановлений rpm-інсталятор, ви, можливо, зможете розгорнути один із ручних rpms з дистрибутива fedora.


Цікаво, як посилання RAMspeed перенаправляє на спам-сайти.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

так, схоже, що їх сайт відсутній, оновлення посилання на github.
Джейсон Хантлі

1

Запишіть файл у існуючий 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

Таким чином ви уникнете заміни і не потрібно нічого монтувати.


Здається, що tmpfsна моїх машинах RHEL6 / 7 щось штучно обмежує швидкість . Я отримую ті самі 4 Гб / с, як і ви, чи запускаю цю команду на чотирьохканальному апараті DDR3-1866, на чотирьохканальному апараті DDR4-2666 або на тому ж самому апараті із заповненими лише двома каналами пам'яті. Вони повинні записувати в пам'ять зі швидкістю 60, 85 та 42 Гб / с, а не 4 Гб / с.
Марк Бут

Можливо, буде просто робити петлі з постійним інтервалом очікування і, таким чином, обмежуючи швидкість всієї дії. Спробуйте навпаки: dd якщо = / dev / zero of = / tmp / testfile bs = 4000M count = 1
baldrianbandit

Це дуже дивно, я спробував з різними bsі counts, і найкраща комбінація була з, bs=512Kале вона ніколи не перевищує 4,2 Гб / с на машині, яка дає 43 Гб / с зі стандартом STREAM.
Марк Бут

0

Я використовував memtest u-boot, є два тести (див. U-boot / common / cmd_mem.c):

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

подбайте про проходження стартового зміщення (argv [1]) після простору пам'яті u-boot, тобто mtest 0x200000.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.