Chcę przetestować integralność i globalną wydajność układów pamięci bez ECC na niestandardowej płycie
Czy są jakieś narzędzia działające pod Linuksem, dzięki czemu mogę jednocześnie monitorować temperaturę systemową i globalną?
Czy istnieją jakieś ogólne testy, które nie są związane z ECC?
EDYCJA 1:
Wiem już, jak monitorować temperaturę (korzystam ze specjalnej funkcji platformy /sys/devices/platform/......../temp1_input).
Na razie :
- wazoox: działa, ale muszę napisać własne testy
- Jason Huntley:
- ramspeed: nie działa na ramieniu
- test porównawczy stream: działa i jest bardzo szybki, więc sprawdzę, czy jest dokładny i kompletny
- memtest: Spróbuję później, ponieważ nie działa bezpośrednio z systemu Linux
- stres dla fedory: Spróbuję później, jest to dla mnie zbyt problematyczne, aby zainstalować Fedorę teraz
Znalazłem tę dystrybucję: http://www.stresslinux.org/sl/
Będę nadal sprawdzać narzędzia działające bezpośrednio pod Linuksem bez zbyt dużych zależności, po czym może spróbuję rozwiązań takich jak stresslinux, memtest, stres dla fedory.
Dzięki za odpowiedzi, będę kontynuować dochodzenie
Odpowiedzi:
Oto sposób, w jaki czasami testuję ram: najpierw zamontuj dwa tmpfs (domyślnie tmpfs to połowa ram):
Sprawdź wolną pamięć i wolne miejsce:
Teraz wypełnij tmpfs dd:
Możesz sprawdzić, czy twoja pamięć jest naprawdę pełna:
Teraz możesz uruchomić różne testy, na przykład sprawdzić, czy oba pliki tymczasowe są identyczne, bezpośrednio lub z uruchomionym programem md5sum, sha1sum itp.
O monitorowaniu temperatury znam tylko czujniki lm. Nie wiem, czy zarządza konkretnym sprzętem, ale prawdopodobnie i tak możesz spróbować.
źródło
dd
metoda (na starym AMD Athlon 64 3200+) dała mi wyniki konsekwentnie proporcjonalne do zmian prędkości zegara pamięci, co uważam za wystarczające. Nie jestem jednak pewien, dlaczego chcesz zatkać całą pamięć systemową/dev/zero
- mój system zamarł, gdy próbowałem to zrobić.RamSpeed jest jedynym znanym mi narzędziem do testowania pamięci wieloplatformowej. Możesz go skompilować dla uzbrojenia, jeśli jest obsługiwane:
http://alasir.com/software/ramspeed/, stary link nie działa, użyj:https://github.com/cruvolo/ramspeed-smp
Jeśli nie jest obsługiwany, być może możesz przeprowadzić test porównawczy za pomocą stream:
http://www.cs.virginia.edu/stream/ref.html
Tutaj wielokrotnie używałem memtest do sprawdzania integralności i działa świetnie:
http://www.memtest.org/
* Uwaga, przeczytałem tylko to obsługuje Arm. Jednak nie testowałem na ramieniu.
Jeśli używana dystrybucja obsługuje yum, możesz łatwo zainstalować lm_sensors:
mniam zainstaluj lm_sensors
Możesz także pobrać i skompilować z: tutaj http://www.lm-sensors.org/
Nie jestem jednak pewien, czy dostarczy danych o temperaturze dotyczących twojej pamięci. Twoja płyta główna musi mieć także czujniki do odczytu temperatury pamięci.
memtest obejmuje testy zarówno dla ECC, jak i non-ECC
Właśnie przypomniałem sobie ostatnią rzecz, którą możesz spróbować. Zdobądź fedora dla architektury uzbrojenia lub rpm. Możesz uruchomić pakiet warunków skrajnych, który przetestuje procesor i pamięć:
stress-1.0.4-4.fc13.armv5tel.rpm
Jeśli busybox ma dołączony instalator rpm, być może będziesz mógł wdrożyć jedną z rpmów z dystrybucji fedora.
źródło
Napisz plik do istniejącego pliku tmpfs, takiego jak / tmp z dd, jak sugeruje wazoox, ale ogranicz jego rozmiar do mniej niż połowy wolnej pamięci.
Najpierw dowiedz się, ile pamięci jest dostępne:
Następnie napisz plik, w tym przypadku łącznie 4 GB, używając 4000 bloków 1 MB:
W ten sposób unikniesz zamiany i nie będziesz musiał niczego montować.
źródło
tmpfs
na moich maszynach RHEL6 / 7. Dostaję te same 4 GB / s co ty, niezależnie od tego, czy uruchomię to polecenie na czterokanałowym urządzeniu DDR3-1866, czterokanałowym urządzeniu DDR4-2666, czy na tym samym komputerze z tylko dwoma kanałami pamięci. Powinny one zapisywać w pamięci odpowiednio przy 60, 85 i 42 GB / s, a nie 4 GB / s.bs
icount
si najlepsza kombinacja z,bs=512K
ale nigdy nie przekracza 4,2 GB / s na maszynie, która daje 43 GB / s z testem porównawczym STREAM.Użyłem memtest u-boot, są dwa testy (patrz u-boot / common / cmd_mem.c):
Pierwszy test jest prosty (zapis, sprawdzenie), drugi test jest aktywowany przez
#define CONFIG_SYS_ALT_MEMTEST 1
i dodaje więcej testów,zadbaj o przekazanie offsetu początkowego (argv [1]) po przestrzeni pamięci u-boot, tj
mtest 0x200000
.źródło