TL;DR
Commencez par le numéro le plus important : Le nombre d'erreurs pour une mémoire saine devrait être de 0 . Tout chiffre supérieur à 0 peut indiquer des secteurs endommagés ou défectueux.
Explication de l'écran
Memtest86+ v1.00 | Progress of the entire pass (test series)
CPU MODEL and clock speed | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.
WallTime Cached RsvdMem MemMap Cache ECC Test Pass Errors ECC Errs
--------- ------ ------- -------- ----- --- ---- ---- ------ --------
Elapsed Amount Amount Mapping on on Test # of # of # of ECC
time of RAM of used or or type pass errors errors
cached reserved off off done found found
RAM, not
tested
Explication des données/essais
MemTest effectue un certain nombre de tests, il é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 de celles qui étaient stockées à l'origine, MemTest enregistre une erreur et augmente le temps de réponse de la mémoire. nombre d'erreurs par un. Les erreurs sont généralement le signe de bandes de RAM défectueuses.
Comme la mémoire n'est pas seulement un bloc-notes qui contient des informations mais qu'elle a des fonctions avancées comme la mise en cache, plusieurs tests différents sont effectués. Voici ce que le 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) :
- Testez les secteurs dans cet ordre : A, B, C, D, E, F. (Série)
- Les secteurs de test dans cet ordre : A, C, E, B, D, F. (Déplacement)
- Remplir tous les secteurs avec le motif : aaaaaaaa
- Remplissez tous les secteurs avec un motif aléatoire.
Description plus détaillée de tous les tests à partir de : https://www.memtest86.com/technical.htm#detailed
Test 0 [Test d'adresse, marche des uns, pas de cache].
Teste tous les bits d'adresse de toutes les banques de mémoire en utilisant un "walking ones". d'adresse.
Test 1 [Test d'adresse, adresse personnelle, séquentiel].
Chaque adresse est écrite avec sa propre adresse et ensuite est vérifiée pour la cohérence. En théorie, les tests précédents auraient dû détecter tout problèmes d'adressage de la mémoire. Ce test devrait détecter toute erreur d'adressage d'adressage qui, d'une manière ou d'une autre, n'ont pas été détectées précédemment. Ce test est effectué séquentiellement avec chaque CPU disponible.
Test 2 [Test d'adresse, adresse personnelle, parallèle].
Identique au test 1 mais le test est effectué en parallèle en utilisant tous les CPUs et en utilisant des adresses qui se chevauchent.
Test 3 [Inversions mobiles, ones&zeros, Séquentiel]
Ce test utilise l'algorithme des inversions mobiles avec des modèles de tous les uns et les zéros. Le cache est activé même s'il interfère dans une certaine mesure avec les algorithmes de test. l'algorithme de test. Avec le cache activé, ce test ne prend pas ce test ne prend pas beaucoup de temps et devrait rapidement trouver toutes les erreurs erreurs plus subtiles. Ce test n'est qu'une vérification rapide. Ce test est effectué séquentiellement avec chaque CPU disponible.
Test 4 [Inversions mobiles, ones&zeros, Parallèle].
Identique au test 3 mais les tests sont effectués en parallèle en utilisant tous les CPUs.
Test 5 [Inversions mobiles, 8 bit pat].
Il s'agit du même test que le test 4 mais il utilise un motif de 8 bits de largeur de de uns et de zéros "ambulants". Ce test permet de mieux détecter les erreurs subtiles dans les puces mémoire "larges".
Test 6 [Inversions mobiles, motif aléatoire].
Le test 6 utilise le même algorithme que le test 4 mais le modèle de données est un un nombre aléatoire et son complément. Ce test est particulièrement efficace pour trouver les erreurs de sensibilité des données difficiles à détecter. La séquence de nombres La séquence de nombres aléatoires est différente à chaque passage. augmentent l'efficacité.
Test 7 [Mouvement de bloc, 64 mouvements]
Ce test sollicite la mémoire en utilisant les instructions de déplacement de bloc (movsl). et est basé sur le test burnBX de Robert Redelmeier. La mémoire est initialisée avec des motifs de décalage qui sont inversés tous les 8 octets. Ensuite, des blocs de mémoire de 4mb de blocs de mémoire sont déplacés à l'aide de l'instruction movsl. Après les déplacements sont terminés, les modèles de données sont vérifiés. Comme les données ne sont vérifiées qu'une fois les déplacements de mémoire terminés, il n'est pas possible de savoir où l'erreur s'est produite. Les adresses signalées sont seulement pour l'endroit où le mauvais modèle a été trouvé. Comme les déplacements sont sont limités à un segment de mémoire de 8mb, l'adresse défaillante sera toujours sera toujours à moins de 8mb de l'adresse rapportée. Les erreurs de ce test ne sont pas utilisées pour calculer les modèles BadRAM.
Test 8 [Inversions mobiles, Pat 32 bits].
Il s'agit d'une variation de l'algorithme des inversions mobiles qui déplace le motif de données d'un bit vers la gauche pour chaque adresse successive. La position du bit de départ de position du bit de départ est décalée vers la gauche à chaque passage. Pour utiliser tous les modèles de données possibles, 32 passages sont nécessaires. Ce test est assez efficace pour détecter les erreurs de sensibilité des données mais le temps d'exécution est long.
Test 9 [Séquence de nombres aléatoires]
Ce test écrit une série de nombres aléatoires en mémoire. En réinitialisant la graine pour le nombre aléatoire, la même séquence de nombre peut être créée pour une référence. Le modèle initial est vérifié et puis complété et vérifié à nouveau lors du passage suivant. Cependant, contrairement des inversions mobiles, l'écriture et la vérification du test ne peuvent se faire que dans le dans le sens de la marche.
Test 10 [Modulo 20, ones&zeros]
L'utilisation de l'algorithme Modulo-X devrait permettre de découvrir des erreurs qui ne sont pas détectées par les inversions de mouvement en raison des interférences du cache et de la mémoire tampon avec l'algorithme. Comme pour le test 1, seuls les uns et les zéros sont utilisés pour les modèles de données.
Test 11 [Test d'altération des bits, 90 min, 2 motifs].
Le test d'évanouissement des bits initialise toute la mémoire avec un motif et puis dort pendant 5 minutes. Ensuite, la mémoire est examinée pour voir si des bits de mémoire ont changé. Des modèles de type "tous les uns" et "tous les zéros" sont utilisés.
Comme les secteurs défectueux peuvent parfois fonctionner et ne pas fonctionner une autre fois, je recommande de laisser MemTest effectuer plusieurs passages. Un test complet passer est une série de tests terminés et réussis. (Les séries de tests 1 à 11 ci-dessus). Plus vous obtenez de réussites sans erreurs, plus votre exécution du MemTest est précise. J'ai l'habitude de faire environ 5 passes pour être sûr.
Le nombre d'erreurs pour une mémoire saine doit être de 0. Tout nombre supérieur à 0 peut indiquer des secteurs endommagés/difficiles.
Nombre d'erreurs ECC ne doit être prise en compte que lorsque ECC
est réglé sur off
. ECC est l'abréviation de Error-correcting code memory (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 la mémoire. Il peut être légèrement comparé aux contrôles de parité effectués sur les supports RAID ou optiques. Cette technologie est assez coûteuse et ne sera probablement rencontrée que dans les configurations de serveurs. Le compteur ECC compte le nombre d'erreurs qui ont été corrigées par le mécanisme ECC de la mémoire. L'ECC ne devrait pas avoir à être invoqué pour une RAM saine, donc un nombre d'erreurs ECC supérieur à 0 peut également indiquer une mauvaise mémoire.
Explication de l'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 correspond au numéro du test dans la liste déjà mentionnée ci-dessus. La deuxième colonne ( Passez ) montre si ce test a passé. Dans le cas de l'exemple, le test 7 n'a pas été réussi.
La troisième colonne ( Adresse défaillante ) montre exactement quelle partie de la mémoire présente des erreurs. Une telle partie a une adresse, un peu comme une adresse IP, qui est unique pour cette partie du stockage de données. Il indique l'adresse qui a échoué et la taille du morceau de données (0,8 Mo dans l'exemple).
Le quatrième ( Bon ) et cinquième ( Mauvais ) indiquent respectivement les données qui ont été écrites et celles qui ont été récupérées. Les deux colonnes doivent être égales dans une mémoire non défectueuse (évidemment).
La sixième colonne ( Err-Bits ) montre la position des bits exacts qui sont défaillants.
La septième colonne ( Comte ) indique le nombre d'erreurs consécutives avec la même adresse et les mêmes bits défaillants.
Enfin, la dernière, la septième colonne ( Chan ) indique le canal (si plusieurs canaux sont utilisés sur le système) dans lequel se trouve la barrette mémoire.
S'il trouve des erreurs
Si MemTest découvre des erreurs, la meilleure méthode pour déterminer quelle module est défectueux est couverte dans cette question de super utilisateur et sa réponse acceptée :
Utilisez le processus d'élimination -- retirez la moitié des modules et exécutez le test à nouveau...
S'il n'y a pas d'échec, alors vous savez que ces deux modules sont bons, alors mettez-les de côté et testez-les à nouveau.
S'il y a des échecs, alors réduisez à nouveau de moitié (jusqu'à un des éléments suivants quatre modules de mémoire maintenant) et testez à nouveau.
Mais, juste parce que l'un a échoué à un test, ne supposez pas que l'autre que l'autre ne l'est pas (vous pourriez avoir deux modules de mémoire défaillants). vous avez détecté une défaillance avec deux modules de mémoire, testez chacun de ces deux chacun de ces deux modules séparément.
Remarque importante : avec des fonctions telles que l'entrelacement de la mémoire et la mauvaise et les mauvais schémas de numérotation des supports de module de mémoire de certains il peut être difficile de savoir quel module est représenté par une adresse donnée. donnée.
3 votes
Vous voulez continuer à utiliser la mémoire sans erreur ?
1 votes
Pas si le nombre d'erreurs se situe dans une fourchette acceptable (si tant est qu'il y en ait). Ce n'est pas non plus mon et ce n'est pas une décision que je dois prendre. J'ai voulu poser cette question comme une simple référence à "Qu'est-ce que cela signifie pour moi ?", sans me baser particulièrement sur ma machine (elle a probablement trop d'erreurs de toute façon).
4 votes
Ce n'est qu'un conseil :) . N'ignorez pas les erreurs dans memtest. Une seule petite erreur dans la RAM peut casser un système d'exploitation complet et causer une perte de données.
2 votes
En général, si vous ne voyez pas de grandes zones rouges clignotantes, tout va bien :-)
5 votes
Si les erreurs sont limitées à une zone spécifique de la mémoire et que vous utilisez Linux, vous pouvez demander au noyau d'ignorer ces zones comme indiqué ici : gquigs.blogspot.com/2009/01/bad-memory-howto.html Si vous utilisez Windows, que les erreurs ne se situent pas dans une zone cohérente ou qu'elles sont trop nombreuses, vous devriez acheter une nouvelle mémoire vive.
4 votes
En outre, si la clé USB commence à tomber en panne, il est possible que de plus en plus de zones deviennent défectueuses. La mémoire n'est pas chère par rapport au coût de la chasse répétée aux problèmes de corruption de données et de blocage du système.