
現在、Asus M5A97 Proマザーボード(AMD 970チップセット、FX-6100 CPU)に搭載されている非ECC RAMを交換するために、いくつかのECC RAMを購入する予定です。
ラムを設置した後、RAMのECC機能が正しく機能しているかどうかはどうすればわかりますか?
dmidecode --type memory
各RAMスティックが現在印刷している内容を考慮しました。
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
(最初にバイトあたり1ビットのECCを使用したいのですが、データ幅にはまだ64ビットですが、読み取りには合計幅が72ビットです。)
ECCが有効かどうかを判断するために使用できますか?それとも、dmidecodeレベルが低すぎますか?他に何を使用できますか(待機してログにECCエラーが表示されていることを確認する以外は動作していることを示しますが、動作しないという意味ではありません)。
修正する:それから、edac-utilsについて考えました。それらをインストールすると入手できますNot enabling Memory Error Detection and Correction since EDAC_DRIVER is not set
。これによりedac-util
実行可能ファイルが提供されますedac-ctl
。そのうちの1つをこの目的に使用できますか?
答え1
そうだあなたに話す確かな方法はありませんしかし、いくつかの方法でいくつかの種類の答えを提供することができます。明らかに、ECCが機能していることを知らせる方法が見つかるまで、さまざまな方法を試す必要があります。
私としてメモリテスト86+ 4.20ECC Onで設定してもECC RAMを処理していることを認識できません。それでもECC: Disabled
IMCラインに報告されています。まだ新しいバージョンを試していません。しかし(おそらくedac-utilsをインストールした後、残念ながら基本的に2つのことを同時に実行しました)、Linuxはブートログに次のように報告します(いくつかの他のエントリと一緒に散在しています)。
[ 4.867198] EDAC MC: Ver: 2.1.0
...
[ 4.874374] MCE: In-kernel MCE decoding enabled.
[ 4.875414] AMD64 EDAC driver v3.4.0
[ 4.875438] EDAC amd64: DRAM ECC enabled.
...
[ 4.875542] EDAC amd64: CS0: Unbuffered DDR3 RAM
[ 4.875545] EDAC amd64: CS1: Unbuffered DDR3 RAM
[ 4.875546] EDAC amd64: CS2: Unbuffered DDR3 RAM
[ 4.875548] EDAC amd64: CS3: Unbuffered DDR3 RAM
これはとても良い兆候です。手動で実行すると、/etc/init.d/edac restart
同様のログエントリは生成されません。数回の再起動前に以前のログを見ると、次のようになります。
[ 13.886688] EDAC MC: Ver: 2.1.0
[ 13.890389] MCE: In-kernel MCE decoding enabled.
[ 13.891082] AMD64 EDAC driver v3.4.0
[ 13.891107] EDAC amd64: DRAM ECC disabled.
[ 13.891116] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[ 13.891117] Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[ 13.891118] (Note that use of the override may cause unknown side effects.)
dmidecode --type memory
2つの非常に強力なマーキングもあります。物理メモリアレイの「エラー修正タイプ」プロパティ非ECC RAMでも同様に表示されます。したがって、これはメモリ機能ではなくマザーボードのサポートに関連している可能性があります。
Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
各ストレージデバイスの合計幅とデータ幅です(追加ビットはECC用です)。
Handle 0x0028, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
答え2
サーバー/PCへのコンソールアクセス権があり、再起動できる場合は、非常に簡単で効果的な方法があります。記憶力テスト 86+
このクールなツールは、メモリにECCが有効になっていることをすばやく表示します。また、実際のテストを行う際にECC検証も行うと思います。
以下は(少し古い)スクリーンショットです。
答え3
実際のハードウェアの経験をまとめてみましょう。 M5Aマザーボードはありませんが、AMDチップセットを搭載したM4Aマザーボードが2つあります。
午前3時
今数時間:
- M4A8xxマザーボードは正式にECCをサポートしています。
- AMD Phenom IIとAthlon IIはECCをサポートしています。 (他の人は働くかもしれません)
- AMD Phenomチップは、「edac_mce_amd」モジュールによるエラー報告をサポートしています。このモジュールはECCなしで動作し、キャッシュまたは他のCPU関連のエラーを報告します。
- RAM ECC は「amd64_edac」によってサポートされます。
私はこの時点で2年以上ECC RAMを搭載したM4Aボードを使用してきましたが、バグレポートを見たことがありません。一部のマザーボードは修正可能なエラー(CE)を報告していないようです。 ECCなしで不安定なタイミングを設定した後、有効にして正しく動作することを確認することをお勧めします。 Memtest86を使用できますが、そのソフトウェアはECCイベントを報告せず、ECCが有効な状態でRAMが安定していることを表示します。 「mce」ブートパラメータに渡されたカーネルパラメータに関係なく、カーネル自体は詳細なしでメッセージのみを表示します。
[Hardware error] Machine Check Exception
これは/ sysの "edac"エントリにも記録されません。テストで判断すると、これらのエラーは修正されますが、修正不可能なエラーはどのように処理されるかわかりません。
また、これらのAsusマザーボードは、CPUのバグに関するエラーを報告していないようです。私は壊れたASRockマザーボードが停止し始めましたが、UEがそれをOSに報告したときに初めてこの機能を知りました。互換ボードでは、この情報は次の形式でカーネルメッセージに表示されます。
[Hardware error] Machine Check Excpetion logged
[Hardware error] ERROR DETAILS, ETC, ETC
これは MCE ログに記録されませんが、カーネルによって排他的に処理されます。 (edac_mce_amd モジュール) これは、バッファ内にあるか、メモリを破壊するプロセスの終了などの他のオプションを使用している場合は、未修正のエラーを削除できるため便利です。
これらのAsusマザーボードでは、CPUエラー報告動作しません。 PSUまたはマザーボードのVRMが破損してエラーが発生し始めると、一部のデータが破損する可能性があるため、これはあまり良くありません。定期的にCPUの安定性をテストしない限り、使用しません。
午前4時
ASUS AM4マザーボードでは、以前のバージョンはAM3のように動作しましたが、メモリエラー報告は正しく機能しました。 /sys を読み、エラー数を取得したり、カーネルログを表示したりできます。現在のBIOSでは、RASデーモンをインストールし、「ras-mc-ctl」コマンドを使用してエラー数を読み取る必要があります。
これらのプラットフォームでは、CPUエラーの報告と処理をテストしていません。