J'ai ici un cahier que je soupçonne d'avoir un module de mémoire défectueux. J'ai donc téléchargé Memtest86 + et le laisse fonctionner.
Notez que la capture d'écran n'est pas la mienne, elle est fournie par memtest86 +
Comment interpréter les chiffres à l'écran? Je l'ai laissé fonctionner pendant environ quatre heures et je suis maintenant dans le passage 7.
Surtout que fait
- le numéro de test
- le nombre d'erreurs
- le nombre d'erreurs ECC
indiquer? Quelles sont les valeurs saines pour les erreurs de mémoire? À quel moment devrais-je envisager de remplacer la mémoire?
memory
memtest86+
slhck
la source
la source
Réponses:
TL; DR
Le nombre le plus important en premier: le nombre d'erreurs pour une mémoire saine doit être 0 . Tout nombre supérieur à 0 peut indiquer des secteurs endommagés / défectueux.
Explication d'écran
Explication des données / tests
MemTest exécute un certain nombre de tests, écrit des motifs spécifiques dans chaque secteur de la mémoire et les récupère. Si les données récupérées diffèrent des données stockées à l'origine, MemTest enregistre une erreur et augmente le nombre d'erreurs d'une unité . Les erreurs sont généralement des signes de mauvaises bandes de RAM.
Étant donné que la mémoire n'est pas simplement un bloc-notes contenant des informations, mais également des fonctions avancées telles que la mise en cache, plusieurs tests différents sont effectués. C'est ce que l'
Test #
indique. MemTest exécute un certain nombre de tests différents pour voir si des erreurs se produisent.Quelques exemples de tests (simplifiés):
Description plus détaillée de tous les tests sur: https://www.memtest86.com/technical.htm#detailed
Parce que les secteurs défectueux peuvent parfois fonctionner et ne pas fonctionner une autre fois, je recommande de laisser MemTest exécuter quelques passes. Une passe complète est une série de tests achevés qui ont réussi. (La série de tests ci-dessus 1-11) Plus vous obtiendrez de passes sans erreurs, plus votre exécution de MemTest sera précise. Je cours habituellement autour de 5 passes pour être sûr.
Le nombre d'erreurs pour la mémoire saine doit être 0. Tout nombre supérieur à 0 peut indiquer des secteurs endommagés / défectueux.
Le nombre d'erreurs ECC ne doit être pris en compte que lorsque
ECC
est défini suroff
. ECC signifie Mémoire à code de correction d'erreur. Il s'agit d'un mécanisme permettant de détecter et de corriger les bits erronés dans un état de mémoire. Il peut être comparé légèrement aux contrôles de parité effectués sur un support RAID ou optique. Cette technologie est assez coûteuse et ne sera probablement rencontrée que dans les configurations de serveur. Le compte ECC compte le nombre d'erreurs corrigées par le mécanisme ECC de la mémoire. ECC ne devrait pas avoir à être invoqué pour une RAM saine, donc un nombre d'erreurs ECC supérieur à 0 peut également indiquer une mémoire insuffisante.Explication d'erreur
Exemple de Memtest qui a rencontré des erreurs. Il montre quel secteur / adresse a échoué.
La première colonne ( Tst ) indique quel test a échoué, le numéro correspondant au numéro de test de la liste déjà mentionnée ci-dessus. La deuxième colonne ( Pass ) indique si ce test est réussi. Dans le cas de l'exemple, le test 7 n'a pas de réussite.
La troisième colonne ( Adresse en échec ) indique exactement quelle partie de la mémoire contient des erreurs. Une telle partie a une adresse, très semblable à une adresse IP, qui est unique pour cet élément de stockage de données. Il indique quelle adresse a échoué et quelle est la taille du bloc de données. (0.8MB dans l'exemple)
Les quatrième ( bonne ) et cinquième ( mauvaise ) colonne indiquent les données écrites et ce qui a été récupéré, respectivement. Les deux colonnes doivent être égales dans la mémoire non défectueuse (évidemment).
La sixième colonne ( Err-Bits ) indique la position des bits exacts en échec.
La septième colonne ( Count ) indique le nombre d'erreurs consécutives avec la même adresse et les bits défaillants.
Enfin, la dernière colonne ( Chan ) indique le canal (si plusieurs canaux sont utilisés sur le système) dans lequel se trouve la bande mémoire.
S'il trouve des erreurs
Si MemTest détecte des erreurs, la meilleure méthode pour déterminer le module défectueux est traitée dans cette question de super utilisateur et dans sa réponse acceptée:
la source
000c34e98dc - 3124.9MB
. Pourquoi un si gros morceau? J'ai des modules 2x1Gb et 2x2Gb dans mon PC. Comment trouver celui qui cause des échecs?Nombre d'erreurs
Lors des tests, si la mémoire échoue pour l'un de ces tests, le nombre d'erreurs incrémentées augmente. Si je me souviens bien, il compte le nombre d'adresses qui ont échoué au test.
Nombre d'erreurs ECC
La mémoire ECC est un type particulier de puce mémoire utilisée pour empêcher la corruption des données. Votre
ECC Errs
colonne compte le nombre de problèmes résolus par ECC.(ECC est lent et coûteux et s’applique essentiellement aux systèmes stratégiques qui ne peuvent pas être dérangés pour échanger la RAM.)
Numéro de test
Memtest effectue différents types de tests sur votre mémoire, décrits sur le site Web Memtest86 . Juste comme une traduction en anglais simple et rapide:
Test 0: Test d'adresse à pied
Memtest écrit
00000001
dans le premier emplacement de la mémoire,00000010
dans le suivant, et ainsi de suite, en répétant ce motif tous les 8 octets. Ensuite, il lit la mémoire et s'assure que la valeur n'a pas changé. ( Source )Tests 1 et 2: Test d'adresse propre
Memtest écrit chaque emplacement de mémoire avec sa propre adresse et vérifie que la valeur n'a pas changé.
Le test 1 est séquentiel et le test 2 est parallèle (utilise la simultanéité).
Test 3 et 4 Test des inversions en mouvement
Essentiellement, ce test charge les 0 en mémoire, puis
Le but ici est d'essayer de tester chaque bit et ses bits adjacents "toutes les combinaisons possibles de 0 et de 1".
Le test 3 n'utilise pas la concurrence, alors que le test 4 l'utilise.
Test 5: Inversions en mouvement, Pat 8 bits
La méthode des inversions en mouvement est à nouveau utilisée, mais cette fois-ci avec les 1 en marche du test 0 par blocs de 8 bits.
Test 6: Inversions en mouvement, modèle aléatoire
Memtest utilise des nombres aléatoires au lieu de tous les 0 ou des 1 en marchant.
Test 7: bloquer le mouvement
Celui-ci est amusant. Il charge des motifs en mémoire, les déplace par blocs de 4 Mo et les vérifie.
Test 8: Inversion en mouvement, Pat 32 bits
Identique au test 5, mais utilise plutôt des blocs de 32 bits. Celui-ci charge en fait toutes les valeurs 32 bits possibles à chaque emplacement.
Test 9: Nombres Aléatoires
Celui-ci charge des nombres pseudo-aléatoires en mémoire et les vérifie. La bonne chose à propos du générateur de nombres pseudo-aléatoires est qu’il n’est pas très aléatoire (si vous avez déjà participé
printf("%d", rand());
à un programme C sans générer de graine et obtenu le nombre oh-so-aléatoire 41, vous voyez ce que je veux dire). Donc, il vérifie en réinitialisant le séparateur de nombres aléatoires et en relançant le générateur.Test 10: Modulo-X
Tous les 20 emplacements, il écrit un motif (tous les 0 ou tous les 1) et écrit le complément dans tous les autres emplacements, puis vérifie.
Test 11: Test de décoloration
Celui-ci charge la RAM avec tous les 1 (et encore avec tous les 0), attend 5 minutes et voit si l'une des valeurs change.
la source
Numéro de test: numéro du test spécifique en cours d'exécution par memtest. Il y en a beaucoup.
Nombre d'erreurs: le nombre d'erreurs de mémoire rencontrées
Erreurs ECC: Nombre d’erreurs corrigées par ECC. Votre chipset / mémoire n'a pas de code ECC, donc ce nombre n'a pas d'importance.
Si votre mémoire contient un nombre d'erreurs supérieur à 0, vous souhaiterez la remplacer.
EDIT: Les tests sont les différents modèles que memtest écrit en mémoire. Il écrit différents modèles dans la mémoire et les relit pour vérifier les erreurs. Il utilise différents modèles pour pouvoir tester tous les états de tous les bits.
Le compte indique le nombre de fois que le résultat lu dans memtest ne correspond pas à ce qu'il a écrit dans la mémoire, ce qui signifie qu'il y a une erreur dans le bloc de mémoire en cours de test.
ECC est une technologie de correction d'erreur intégrée aux puces de mémoire pour serveurs et stations de travail. La plupart des stations d'arrêt ne prennent pas en charge les modules de mémoire avec ECC intégré. Presque tous les serveurs / stations de travail prennent en charge ce support et en ont généralement besoin. Le nombre d'erreurs corrigées par ECC correspond au nombre d'erreurs résolues avec succès par la puce ECC.
la source