私はここに欠陥のあるメモリモジュールがあると思われるノートブックを持っています。したがって、Memtest86 +をダウンロードして実行しました。
スクリーンショットは私の実際のものではなく、memtest86 +によって提供されることに注意してください
画面上の数字をどのように解釈しますか?約4時間実行した後、パス7になりました。
特に、何が
- テスト番号
- エラーの数
- ECCエラーの数
示す?メモリエラーの健全な値は何ですか?どの時点でメモリの交換を検討する必要がありますか?
私はここに欠陥のあるメモリモジュールがあると思われるノートブックを持っています。したがって、Memtest86 +をダウンロードして実行しました。
スクリーンショットは私の実際のものではなく、memtest86 +によって提供されることに注意してください
画面上の数字をどのように解釈しますか?約4時間実行した後、パス7になりました。
特に、何が
示す?メモリエラーの健全な値は何ですか?どの時点でメモリの交換を検討する必要がありますか?
回答:
最も重要な番号から最初に:正常なメモリのエラーカウントは0でなければなりません。0を超える数値は、破損/欠陥のあるセクターを示している場合があります。
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
MemTestは多くのテストを実行し、特定のパターンをメモリのすべてのセクターに書き込み、それを取得します。取得したデータが最初に保存されたデータと異なる場合、MemTestはエラーを登録し、エラーカウントを1 増やします。エラーは通常、不良RAMストリップの兆候です。
メモリは単なる情報を保持するメモ帳ではなく、キャッシングなどの高度な機能を備えているため、いくつかの異なるテストが行われます。これがTest #
示すことです。MemTestは、さまざまなテストを実行して、エラーが発生するかどうかを確認します。
いくつかの(簡略化された)テスト例:
すべてのテストの詳細な説明:https : //www.memtest86.com/technical.htm#detailed
テスト0 [アドレステスト、ウォーキングテスト、キャッシュなし]
ウォーキング1アドレスパターンを使用して、すべてのメモリバンクのすべてのアドレスビットをテストします。
テスト1 [アドレステスト、自分のアドレス、シーケンシャル]
各アドレスには独自のアドレスが書き込まれ、一貫性がチェックされます。理論的には、以前のテストでは、メモリアドレスの問題をすべて検出できたはずです。このテストは、以前は検出されなかったアドレス指定エラーをキャッチする必要があります。このテストは、使用可能な各CPUで順番に実行されます。
テスト2 [アドレステスト、自身のアドレス、パラレル]
テスト1と同じですが、テストはすべてのCPUと重複アドレスを使用して並行して行われます。
テスト3 [逆転、1と0の移動、シーケンシャル]
このテストでは、すべて1と0のパターンを持つ移動反転アルゴリズムを使用します。キャッシュは、テストアルゴリズムにある程度干渉しますが、有効になっています。キャッシュを有効にすると、このテストに時間がかからず、すべての「ハード」エラーといくつかのより微妙なエラーをすばやく見つけることができます。このテストは簡単なチェックにすぎません。このテストは、使用可能な各CPUで順番に実行されます。
テスト4 [移動反転、1と0、並列]
テスト3と同じですが、テストはすべてのCPUを使用して並行して実行されます。
テスト5 [移動反転、8ビットpat]
これはテスト4と同じですが、「ウォーキング」の1と0の8ビット幅のパターンを使用します。このテストは、「ワイド」メモリチップの微妙なエラーをより適切に検出します。
テスト6 [反転の移動、ランダムパターン]
テスト6はテスト4と同じアルゴリズムを使用しますが、データパターンは乱数であり、それを補完します。このテストは、データに敏感なエラーを検出するのが困難な場合に特に効果的です。乱数シーケンスはパスごとに異なるため、複数のパスで効率が向上します。
テスト7 [ブロック移動、64移動]
このテストは、ブロック移動(movsl)命令を使用してメモリに負荷をかけ、Robert RedelmeierのburnBXテストに基づいています。メモリは、8バイトごとに反転されるシフトパターンで初期化されます。次に、movsl命令を使用して4MBのメモリブロックを移動します。移動が完了すると、データパターンがチェックされます。データはメモリの移動が完了した後にのみチェックされるため、エラーが発生した場所を知ることはできません。報告されるアドレスは、不良パターンが検出された場所のみです。移動はメモリの8mbセグメントに制限されているため、失敗したアドレスは、報告されたアドレスから常に8mb未満になります。このテストのエラーは、BadRAMパターンの計算には使用されません。
テスト8 [反転の移動、32ビットpat]
これは、連続するアドレスごとにデータパターンを1ビット左にシフトする移動反転アルゴリズムのバリエーションです。開始ビット位置は、パスごとに左にシフトされます。すべての可能なデータパターンを使用するには、32パスが必要です。このテストは、データに依存するエラーの検出には非常に効果的ですが、実行時間が長くなります。
テスト9 [ランダムな数字のシーケンス]
このテストでは、一連の乱数をメモリに書き込みます。乱数のシードをリセットすることにより、同じ番号のシーケンスを参照用に作成できます。最初のパターンがチェックされ、次に補完され、次のパスで再度チェックされます。ただし、移動反転とは異なり、テストの作成とチェックは順方向でのみ行うことができます。
テスト10 [モジュロ20、1と0]
Modulo-Xアルゴリズムを使用すると、アルゴリズムとのキャッシュおよびバッファリングの干渉により、反転を移動しても検出されないエラーが明らかになります。テストと同様に、データパターンには1と0のみが使用されます。
テスト11 [ビットフェードテスト、90分、2パターン]
ビットフェードテストは、すべてのメモリをパターンで初期化し、その後5分間スリープします。次に、メモリを調べて、メモリビットが変更されたかどうかを確認します。すべて1およびすべてゼロのパターンが使用されます。
不良セクタは時々動作し、別の時点では動作しない場合があるため、MemTestを数回実行することをお勧めします。完全なパスは、合格した完成テストシリーズです。(上記のテストシリーズ1〜11)エラーなしで合格するパスが多いほど、MemTestの実行はより正確になります。私は通常、5つのパスを実行して確認します。
正常なメモリのエラーカウントは0である必要があります。0を超える数値は、破損/欠陥のあるセクターを示している可能性があります。
にECC
設定されている場合にのみ、ECCエラーカウントを考慮する必要がありますoff
。ECCは、エラー訂正コードメモリの略で、メモリ状態の誤ったビットを検出して訂正するメカニズムです。RAIDまたは光メディアで行われるパリティチェックとわずかに比較できます。この技術は非常に高価であり、サーバーのセットアップでのみ発生する可能性があります。ECCカウントは、メモリのECCメカニズムによって修正されたエラーの数をカウントします。正常なRAMのためにECCを呼び出す必要はありません。そのため、0を超えるECCエラーカウントは、不良メモリを示している可能性があります。
エラーが発生したMemtestの例。どのセクター/アドレスが失敗したかを示します。
最初の列(Tst)は、どのテストが失敗したかを示します。この番号は、前述のリストのテスト番号に対応しています。2番目の列(Pass)は、そのテストに合格したかどうかを示します。この例の場合、テスト7にパスはありません。
3番目の列(Failing Address)は、メモリのどの部分にエラーがあるかを正確に示しています。このような部分には、IPアドレスに非常によく似たアドレスがあり、そのデータストレージに固有です。失敗したアドレスとデータチャンクの大きさを示します。(例では0.8MB)
4番目(Good)と5番目(Bad)の列には、それぞれ書き込まれたデータと取得されたデータが表示されます。両方の列は、障害のないメモリでは等しくなければなりません(明らかに)。
6番目の列(Err-Bits)は、失敗している正確なビットの位置を示しています。
7番目の列(Count)は、同じアドレスと障害ビットを持つ連続エラーの数を示します。
最後に、最後の列7(Chan)は、メモリストリップが入っているチャネル(システムで複数のチャネルが使用されている場合)を示しています。
MemTestがエラーを発見した場合、どのモジュールに障害があるかを判断する最良の方法は、このスーパーユーザーの質問とその受け入れられた回答で説明されています。
除去のプロセスを使用します-モジュールの半分を削除し、テストを再度実行します...
障害がない場合は、これら2つのモジュールが適切であることがわかっているため、それらを脇に置いて再度テストします。
障害がある場合は、再度半分に減らし(4つのメモリモジュールの1つまで)、再度テストします。
ただし、一方がテストに失敗したからといって、もう一方が失敗しないと仮定しないでください(2つのメモリモジュールで障害が発生する可能性があります)-2つのメモリモジュールで障害が検出された場合、それら2つを個別にテストします。
重要な注意:メモリインターリーブなどの機能、およびマザーボードベンダーによってはメモリモジュールソケットのナンバリングスキームが貧弱であるため、特定のアドレスでどのモジュールが表されているかを知るのが難しい場合があります。
000c34e98dc - 3124.9MB
ます。なぜそんなに大きなチャンクサイズなのか?PCに2x1Gbおよび2x2Gbモジュールがあります。失敗の原因を見つける方法は?
テストを通過するときに、いずれかのテストでメモリが失敗すると、エラーの数が増加します。正しく思い出せば、テストに失敗したアドレスの数をカウントします。
ECCメモリは、データの破損を防ぐために使用される特別な種類のメモリチップです。あなたのECC Errs
列は、ECCによって修正されたどのように多くの問題をカウントします。
(ECCは低速で高価であり、基本的にはRAMをスワップアウトするのが面倒なミッションクリティカルなシステム向けです。)
Memtestは、Memtest86 Webサイトに記載されているさまざまな種類の記憶テストを実行します。簡単な英語の翻訳と同じように:
Memtestは00000001
最初のメモリ位置に書き込み、次のメモリ位置など00000010
に書き込み、8バイトごとにこのパターンを繰り返します。次に、メモリを読み取り、値が変更されていないことを確認します。(ソース)
Memtestは、各メモリロケーションに独自のアドレスを書き込み、値が変更されていないことを確認します。
テスト1はシーケンシャルで、テスト2は並行です(つまり、並行性を使用します)。
本質的に、このテストは0をメモリにロードしてから、
ここでの目標は、すべてのビットとその隣接ビットを「0と1の可能な限りの組み合わせ」でテストすることです。
テスト3は同時実行を使用しませんが、テスト4は同時実行を使用します。
これは再び移動反転法を行いますが、今回は8ビットブロックでテスト0から1をウォーキングします。
Memtestは、すべて0またはウォーキング1の代わりに乱数を使用します。
これは楽しいです。パターンをメモリにロードし、4mbのブロックでパターンを移動し、検証します。
テスト5と同じですが、代わりに32ビットブロックを使用します。これは実際、すべての場所で可能なすべての32ビット値をロードします。
これは、擬似乱数をメモリにロードして検証します。疑似乱数ジェネレーターの素晴らしい点は、あまりランダムではないことです(printf("%d", rand());
シードせずにCプログラムで実行して、oh-so-random 41を取得したことがある場合は、意味がわかります)。そのため、乱数シーダーをリセットし、ジェネレーターを再度実行して検証します。
20のロケーションごとに、パターン(すべて0またはすべて1)を書き込み、他のすべてのロケーションに補数を書き込み、検証します。
これは、すべて1でRAMをロードし(再びすべて0で)、5分間待機して、値のいずれかが変化するかどうかを確認します。
テスト番号:memtestが現在実行している特定のテストの番号。それらの多くがあります。
エラー数:発生したメモリエラーの数
ECCエラー:ECCによって修正されたエラーの数。チップセット/メモリにはECCがないため、この数値は重要ではありません。
メモリに0を超えるエラーがいくつかある場合は、それを交換する必要があります。
編集:テストは、memtestがメモリに書き込むさまざまなパターンです。さまざまなパターンをメモリに書き込み、それらを読み取ってエラーをチェックします。また、さまざまなパターンを使用して、すべてのビットのすべての状態をテストできます。
カウントは、memtestに読み込まれた結果がメモリに書き込んだものと一致しなかった回数を示し、テストされているメモリのチャンクにエラーがあることを示します。
ECCは、サーバーおよびワークステーションのメモリチップに組み込まれたエラー修正技術です。ほとんどのdekstopは、ECCが組み込まれたメモリモジュールをサポートしていません。ほとんどすべてのサーバー/ワークステーションでサポートされており、通常は必要です。ECCによって修正されるエラーの数は、ECCチップが正常に修正したエラーの数です。