定番メモリチェックツール Memtest86 / Memtest86+ ですが、不吉な赤いエラーが出たからと言って、1回では真の原因は分かりません。複数あるメモリをどうやって切り分けたらいいのでしょうか。5年も使い回した PC パーツに訪れた衝撃的な結末。

Memtest86+: エラー多発

メモリは 1枚が壊れているとは限らない

このマザーボード 865PE Neo2-V の場合、DIMM スロットが上から DIMM1 / DIMM2 / DIMM3 と 3つあります。

MSI 865PE Neo2-V: メモリスロット

私の場合は 1GB x 3 を差して合計 3GB としています。仮に各メモリを A, B, C としましょう。DIMM1 = A, DIMM2 = B はデュアルチャネル1 対応なので、同じメーカー、同じ型番のメモリです。

メモリの故障とは言っても、大別して次のようにいろいろな場合があります。

  • 1枚単位で不具合が出る場合
  • 複数枚での相性
  • 複数枚での差し位置

これらを切り分けるためには、順列組み合わせのようにメモリを差し替えてみて、そのたびに Memtest86+ を実行する…という根気の要る繰り返しになります。

順列組合せで切り分ける

下記は組み合わせの一部に過ぎません。Memtest86+ でどのアドレスでエラーが出たかを元に、消去法で正常 / 異常なメモリを切り分けていきます。

DIMM1 DIMM2 DIMM3 備考
初期状態 A B C A, B はデュアルチャネル
単体テスト A A が悪いならこのテストでだけエラーが出るはず
B
C
2枚での相性と差し位置 A B
B A 同じ A, B でも順序を変えると動くことも
B C
C B
3枚での相性と差し位置 C A B 1枚ずつ右へ右へシフトしたり
B C A
C B A 全く順番を変えてみたり

論理的にすっきりしない結果が…

ところが結果は相当奇っ怪なことになっていて、

  • A, B, C の単体テストいずれでも 3桁のアドレスにエラーが出る

異常があるのはメモリではなく、マザーボードや他のパーツではないか、という可能性が出てきました。その割に

  • B, C, A or C, B, A など 3枚の差し位置を変えるとエラーが出ない

ため、マザーボード側の DIMM1 スロットに機械的 / 電気的な異常がある、というわけでもなさそうです。

エラーが出ない組合せで油断して OS を起動し、ダミーで大量にゲスト OS を起動して負荷をかけてみると、1時間ぐらいで「ピッ」と不吉なビープ音とともに OS が BSOD + 再起動してしまいます。

BIOS 起動時のビープ音でマザボ崩壊の序曲

さらに、パーツ差し替え時に「ピーピー」と 8回のビープ音がして AMI BIOS が異常を訴える始末。8回って何だ、ということで AMI BIOS POST ビープコードを調べてみると

8 Display memory R/W test failure

だそうなので、グラボにも関係あるのだろうか…と差し替えてみますが、変わらず。

BIOS ということで、念のため設定バックアップ用のボタン電池も交換してみますが、効果無し。

最後に、CPU を Pentium4 3.20GHz → 2.6GHz に交換して発熱を抑えようとしましたが、BSOD するのは同じ。

消去法で行くと、いよいよマザーボードトラブル説濃厚ですが、すでにケース 3RSYSTEM R240 + ファン F8-H54V で 13,000円投資している中、Pentium 4 マシンに今さらこれ以上の修理費をかける気はさすがにしません。

5年も使えば、もったいないオバケも出ないだろう

2004年に主力デスクトップ PC として購入後、「お下がりシステム」にしたがってサーバに転用しつつ、実に丸 5年の間、HDD や PC ケースを交換しながらも延々と使い続けてきたマザーボード MSI 865PE Neo2-V。CPU 付近からの「チリチリ」音も日増しに大きくなってきており、寿命が近づいてきているようです。古い Pentium 4 アーキテクチャに依存した投資は避けたいですし、いい加減世代交代の時でしょう。

折しも、TWOTOP から購入した最新鋭 Core i7 + P6T PC が、夏も終わりになってから修理から帰ってきて、主力クライアント PC 環境をついにこのマシンに移動できたため、2年前に購入した Core 2 Duo E6700 マシンが空きました。

ということで長い長い長い Pentium 4 マシン死闘編はここでオシマイ。次回は旬な話題にもどり、64bit 環境での仮想化環境編です。

つづく。


  1. Dual Channel: メモリ 2枚が同期を取って転送するため Single Channel より高速にアクセスできる。 []