web-dev-qa-db-ja.com

MCEエラー:MCA:内部パリティエラー

9時間のmemtest86を通過するUbuntu 14.04 LTSを実行している不安定なマシンがあります。

私はこれらを手に入れます:

Hardware event. This is not a software error.
MCE 0
CPU 1 BANK 0 
TIME 1414735539 Fri Oct 31 17:05:39 2014
MCG status:
MCi status:
Corrected error
Error enabled
MCA: Internal parity error
STATUS 9000004000010005 MCGSTATUS 0
MCGCAP c09 APICID 2 SOCKETID 0 
CPUID Vendor Intel Family 6 Model 58`

これは機械が動き続けるときです。マシンがフリーズしたときのためにまだ持っていません。

「MCE 0」とは?そして「MCA」?そして、私はCPUエラーまたはRAMエラーを見ていますか?

8 GBのRAMを1スティック持っています。

ハードウェア(RAM、CPU、マザーボード、電源)を交換する必要がありますか?機械は以前は安定していた。 CPU電圧を少し上げる必要がありますか?

Mcelog FAQを読みました。 Googleの結果はまばらで、ほとんどが同様のメッセージの他の形式を持っています(つまり、カーネル/ MCEの古いバージョン)。

6
Greg Bell

McelogはMCAステータスレジスタのデコードを行いますが、さらに役立つ場合があります。

ステップ1

統合されたインテル®64およびIA-32アーキテクチャソフトウェア開発者マニュアルを http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html からダウンロードします。 = 3439ページと巨大です。以下は2014年9月版のものです。

ステップ2

/ var/log/mcelogからステータスワードを取得し、xxdにパイプを数回通してビットフィールドを取得します。私の場合、これは:

$ echo "9000004000010005" | xxd -r -p | xxd -b
0000000: 10010000 00000000 00000000 01000000 00000000 00000001  ...@..
0000006: 00000000 00000101                                      ..

ステップ3

テキスト操作を行ってから、ビットに番号を付けます。

66665555 55555544 44444444 33333333 33222222 22221111 111111 
32109876 54321098 76543210 98765432 10987654 32109876 54321098 76543210
-----------------------------------------------------------------------
10010000 00000000 00000000 01000000 00000000 00000001 00000000 00000101 

ステップ4

マニュアルのセクション15.3.2.2からステータスMCiステータスレジスタビットの定義を引き出します。

MCi status register bits

私の場合、ビット3:0は「MCAエラーコード5」を示しています。これは、mcelogがすでに「内部パリティエラー」として解釈したものです(セクション15.9.1を参照)。私が期待しているのは詳細情報です-CPU、RAMまたはマザーボードがパリティエラーの考えられる原因ですか?

ビット63の1は、「このレジスタ値が有効であること」を意味します。ビット60の1は、「エラー報告が有効になっている」ことを意味します。 [52:38] = 1の値は、1つのエラーが修正されたことを意味します。

ビット16の1は「モデル固有のエラーコード」フィールドにあるため、有望に見えますが、セクション16によれば、ビット[15]が0に等しいということは、取得するすべてが「単純な」(複合ではない)エラーであることを意味します、これで完了です。

結論:パリティエラーの原因がキャッシュメモリかシステムメモリかはわかりません。 「内部」の意味がわかりません。何の内部?だから私は同じ問題でメモリを交換し、次にCPUを別のマシンに交換しました(幸運な互換性のあるソケットを手に入れました)そして問題は停止しました...両方のマシンで。私がこの高度なハードウェアに期待していた正確な診断ヘルプとは異なり、「悪い」CPUが別のマシンで満足している理由はわかりませんが、問題は解決しました。

6
Greg Bell

Intel Errata HSW131 (または類似)に関連している可能性があり、これは偽の無害なMCA 05(内部パリティエラー)エラーです。

解決策:無視します。

3
Tomas Forsman

32ビットでプロセスを実行していますか?

次の範囲内で「内部パリティエラー」を検索する詳細をいくつか見つけてください。

http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf

HSD55. Internal Parity Errors May Incorrectly Report Overflow in The IA32_MCi_STATUS MSR
    Problem:
    Due to this erratum, uncorrectable internal parity error reports with an
    IA32_MCi_STATUS.MCACOD (bits [15:0]) value of 0005H and an
    IA32_MCi_STATUS.MSCOD (bits [31:16]) va
    lue of 0004H may incorrectly set the
    IA32_MCi_STATUS.OVER flag (bit 62) indicating an overflow even when only a single
    error has been observed.

32ビットLinuxを実行するHaswell i7-4790(第4世代)でも同じ問題がありますKVM CentOS 7(x64)のマシン)

http://ark.intel.com/products/80806/Intel-Core-i7-4790-Processor-8M-Cache-up-to-4_00-GHz

1
myset

インテルi5-3550(アイビーブリッジ)でLinuxボックスを実行していて、しばらくの間(正確なステータス値は同じ)この問題が発生しましたが、影響を受けるのはコア番号2と3(ほとんどの場合2)だけなので、ハードウェアが故障している可能性が最も高いと想定して、数週間無効にしました。

平均的な実行温度が通常よりも高いことに気づきましたが、クリーンアップした後も問題は解決しませんでした。 MCEエラーメッセージだけでなく、予測できないセグメンテーションエラーや実行中のプロセスでのクラッシュとしても現れました。

まあ、いくつかの不可解な理由により、ターボモードの場合、UEFIはCPUを最大4.1 GHzまでクロックすることを決定しました-仕様によると、それは3.7 GHzまでしか上昇しないと言われています。これらの制限を手動で再構成することで、問題は解決したようです。


TL; DR:これを読んでいる人には、オーバークロックもチェックしてください。

1