Je veux tester l'intégrité et les performances globales des puces mémoire sans ECC sur une carte personnalisée
Existe-t-il des outils qui fonctionnent sous Linux pour que je puisse surveiller le système et la température globale en même temps?
Y a-t-il des tests spécifiques sans ECC à faire en général?
EDIT 1:
Je sais déjà comment surveiller la température (j'utilise une fonctionnalité de plate-forme spéciale /sys/devices/platform/......../temp1_input).
Pour l'instant :
- wazoox: ça marche mais je dois coder mes propres tests
- Jason Huntley:
- ramspeed: ne fonctionne pas sur le bras
- référence de flux: cela fonctionne et est très rapide, donc je vais vérifier si c'est précis et complet
- memtest: je vais essayer plus tard, car il ne fonctionne pas directement depuis linux
- stress pour fedora: j'essaierai plus tard aussi, c'est trop problématique pour moi d'installer fedora maintenant
J'ai trouvé cette distribution: http://www.stresslinux.org/sl/
Je continuerai à vérifier les outils qui s'exécutent directement sous linux sans trop grandes dépendances, après je vais peut-être essayer des solutions comme stresslinux, memtest, stress for fedora.
Merci pour vos réponses, je vais continuer à enquêter
Réponses:
Voici comment je teste parfois le ram: montez d'abord deux tmpfs (par défaut, tmpfs est la moitié du ram):
Vérifiez la mémoire et l'espace libre:
Remplissez maintenant les tmpfs avec dd:
Vous pouvez vérifier que votre mémoire est effectivement assez pleine:
Vous pouvez maintenant exécuter divers tests, par exemple vérifier que les deux fichiers temporaires sont identiques, directement ou en exécutant md5sum, sha1sum, etc.:
Concernant la surveillance de la température, je ne connais que les capteurs lm. Je ne sais pas s'il gère votre matériel particulier, mais vous pourriez probablement essayer de toute façon.
la source
dd
méthode (sur un ancien AMD Athlon 64 3200+) m'a donné des résultats toujours proportionnels aux changements de vitesse d'horloge de la mémoire, ce que je considère comme suffisant. Je ne sais pas, cependant, pourquoi vous voudriez obstruer toute la mémoire du système/dev/zero
- mon système a gelé lorsque j'ai essayé de le faire.RamSpeed est le seul outil de référence de mémoire multiplateforme que je connaisse. Vous pourrez peut-être le compiler pour arm, s'il est pris en charge:
http://alasir.com/software/ramspeed/, l'ancien lien est mort, utilisez:https://github.com/cruvolo/ramspeed-smp
Si ce n'est pas pris en charge, vous pourrez peut-être comparer en utilisant stream:
http://www.cs.virginia.edu/stream/ref.html
Ici, j'ai utilisé memtest à plusieurs reprises pour le contrôle d'intégrité et cela fonctionne très bien:
http://www.memtest.org/
* Remarque, je n'ai lu que cela prend en charge Arm. Cependant, je n'ai pas testé sur un bras.
Si la distribution que vous utilisez prend en charge yum, vous pouvez facilement installer lm_sensors:
yum install lm_sensors
Vous pouvez également télécharger et compiler à partir de: ici http://www.lm-sensors.org/
Cependant, je ne suis pas certain qu'il fournira des données de température concernant votre mémoire. Votre carte mère doit également avoir des capteurs pour lire la température mem.
memtest comprend des tests pour ECC et non ECC
Je viens juste de me souvenir d'une dernière chose que vous pourriez essayer. Obtenez Fedora pour l'architecture de bras ou le RPM. Vous pouvez exécuter le package de stress qui testera votre CPU et votre mémoire:
stress-1.0.4-4.fc13.armv5tel.rpm
Si busybox dispose d'un programme d'installation rpm, vous pouvez peut-être déployer l'un des rpms de bras de la distribution fedora.
la source
Écrivez un fichier dans un tmpfs existant comme / tmp avec dd comme le suggère wazoox, mais limitez sa taille à moins de la moitié de votre mémoire libre.
Tout d'abord, découvrez la quantité de mémoire disponible:
Ensuite, écrivez un fichier, dans ce cas 4 Go au total en utilisant 4000 blocs de 1 Mo:
De cette façon, vous éviterez l'échange et il n'est pas nécessaire de monter quoi que ce soit.
la source
tmpfs
mes machines RHEL6 / 7. J'obtiens les mêmes 4 Go / s que vous, que j'exécute cette commande sur une machine DDR3-1866 à quatre canaux, une machine DDR4-2666 à quatre canaux ou cette même machine avec seulement deux canaux de mémoire remplis. Celles-ci doivent être écrites en mémoire à 60, 85 et 42 Go / s respectivement, et non à 4 Go / s.bs
etcount
s et la meilleure combinaison était avecbs=512K
mais ça ne dépasse jamais 4,2 Go / s sur une machine qui donne 43 Go / s avec le benchmark STREAM.J'ai utilisé le memtest de u-boot, il y a deux tests (voir u-boot / common / cmd_mem.c):
Le premier test est simple (écriture, vérification), le second test est activé par
#define CONFIG_SYS_ALT_MEMTEST 1
et ajoutez plus de tests,prenez soin de passer un décalage de début (argv [1]) après l'espace mémoire u-boot, c'est-à-dire
mtest 0x200000
.la source