Quiero probar la integridad y el rendimiento global de los chips de memoria sin ECC en una placa personalizada
¿Hay algunas herramientas que se ejecutan en Linux para que pueda monitorear el sistema y la temperatura global al mismo tiempo?
¿Hay algunas pruebas específicas sin ECC para hacer en general?
EDITAR 1:
Ya sé cómo controlar la temperatura (utilizo una función de plataforma especial /sys/devices/platform/......../temp1_input).
Por ahora :
- wazoox: funciona pero tengo que codificar mis propias pruebas
- Jason Huntley:
- ramspeed: no funciona en el brazo
- referencia de transmisión: funciona y es muy rápido, así que veré si es preciso y completo
- memtest: lo intentaré más tarde, ya que no se ejecuta directamente desde Linux
- estrés para fedora: lo intentaré más tarde también, es demasiado problemático para mí instalar fedora ahora
Encontré esta distribución: http://www.stresslinux.org/sl/
Continuaré verificando herramientas que se ejecutan directamente bajo Linux sin dependencias demasiado grandes, después de que tal vez intente soluciones como stresslinux, memtest, stress for fedora.
Gracias por tus respuestas, continuaré investigando
Respuestas:
Esta es la forma en que a veces pruebo ram: primero monte dos tmpfs (por defecto tmpfs es la mitad del ram):
Verifique la memoria libre y el espacio libre:
Ahora llena los tmpfs con dd:
Puede verificar que su memoria esté bastante llena:
Ahora puede ejecutar varias pruebas, por ejemplo, verificar que ambos archivos temporales sean idénticos, directamente o ejecutando md5sum, sha1sum, etc.
Sobre el monitoreo de temperatura, solo conozco los sensores lm. No sé si administra su hardware en particular, pero probablemente podría intentarlo de todos modos.
fuente
dd
método (en un viejo AMD Athlon 64 3200+) me ha dado resultados consistentemente proporcionales a los cambios en la velocidad del reloj de memoria, lo que considero que es lo suficientemente bueno. Sin embargo, no estoy seguro de por qué querrías obstruir toda la memoria del sistema/dev/zero
: mi sistema se congeló cuando intenté hacerlo.RamSpeed es la única herramienta de referencia de memoria multiplataforma que conozco. Es posible que pueda compilarlo para armar, si es compatible:
http://alasir.com/software/ramspeed/, el enlace anterior está muerto, use:https://github.com/cruvolo/ramspeed-smp
Si no es compatible, es posible que pueda realizar una evaluación comparativa mediante la transmisión:
http://www.cs.virginia.edu/stream/ref.html
Aquí, he usado memtest en muchas ocasiones para verificar la integridad y funciona muy bien:
http://www.memtest.org/
* Nota, solo he leído que esto es compatible con Arm. Sin embargo, no he probado en un brazo.
Si la distribución que está utilizando admite yum, puede instalar fácilmente lm_sensors:
yum install lm_sensors
También puede descargar y compilar desde: aquí http://www.lm-sensors.org/
Sin embargo, no estoy seguro de que proporcione datos de temperatura con respecto a su memoria. Su placa base también debe tener sensores para leer la temperatura de la memoria.
memtest incluye pruebas para ECC y no ECC
Acabo de recordar una última cosa que podrías probar. Obtenga fedora para la arquitectura de brazo o las rpm. Puede ejecutar el paquete de estrés que pondrá a prueba su CPU y memoria:
stress-1.0.4-4.fc13.armv5tel.rpm
Si busybox tiene un instalador rpm empaquetado, es posible que pueda implementar uno de los rpms de brazo desde la distribución de fedora.
fuente
Escriba un archivo en un tmpfs existente como / tmp con dd como sugiere wazoox, pero limite su tamaño a menos de la mitad de su memoria libre.
Primero, averigüe cuánta memoria está disponible:
Luego, escriba un archivo, en este caso 4GB en total usando 4000 bloques de 1MB:
De esta forma evitará el intercambio y no es necesario montar nada.
fuente
tmpfs
mis máquinas RHEL6 / 7. Obtengo los mismos 4GB / s que usted si ejecuto este comando en la máquina DDR3-1866 de cuatro canales, una máquina DDR4-2666 de cuatro canales o esa misma máquina con solo dos canales de memoria ocupados. Deben escribirse en la memoria a 60, 85 y 42 GB / s respectivamente, no a 4 GB / s.bs
ecount
s y la mejor combinación fue conbs=512K
pero nunca pasa por encima de 4.2GB / s en una máquina que da 43 GB / s con el punto de referencia de la corriente.Utilicé memtest de u-boot, hay dos pruebas (ver u-boot / common / cmd_mem.c):
La primera prueba es simple (escribir, verificar), la segunda prueba se activa
#define CONFIG_SYS_ALT_MEMTEST 1
y agrega más pruebas,tenga cuidado de pasar un desplazamiento de inicio (argv [1]) después del espacio de memoria u-boot, es decir
mtest 0x200000
.fuente